Check queue length before pop

merge-requests/30/head
Bob Mottram 2024-11-06 14:03:30 +00:00
parent db0969ac80
commit 3f2bf8624d
2 changed files with 77 additions and 71 deletions

View File

@ -474,74 +474,76 @@ def replace_emoji_from_tags(session, base_dir: str,
if not tag_url: if not tag_url:
continue continue
icon_name = tag_url.split('/')[-1] icon_name = tag_url.split('/')[-1]
if len(icon_name) > 1: if len(icon_name) <= 1:
if icon_name[0].isdigit() and '.' in icon_name: continue
icon_name = icon_name.split('.')[0] if not (icon_name[0].isdigit() and '.' in icon_name):
# see https://unicode.org/ continue
# emoji/charts/full-emoji-list.html icon_name = icon_name.split('.')[0]
if '-' not in icon_name: # see https://unicode.org/
# a single code # emoji/charts/full-emoji-list.html
replaced = False if '-' not in icon_name:
try: # a single code
replace_char = chr(int("0x" + icon_name, 16)) replaced = False
if not screen_readable: try:
replace_char = \ replace_char = chr(int("0x" + icon_name, 16))
'<span aria-hidden="true">' + \ if not screen_readable:
replace_char + '</span>' replace_char = \
content = \ '<span aria-hidden="true">' + \
content.replace(tag_item['name'], replace_char + '</span>'
replace_char) content = \
replaced = True content.replace(tag_item['name'],
except BaseException: replace_char)
if debug: replaced = True
print('EX: replace_emoji_from_tags 1 ' + except BaseException:
'no conversion of ' + if debug:
str(icon_name) + ' to chr ' + print('EX: replace_emoji_from_tags 1 ' +
tag_item['name'] + ' ' + 'no conversion of ' +
tag_url) str(icon_name) + ' to chr ' +
if not replaced: tag_item['name'] + ' ' +
_save_custom_emoji(session, base_dir, tag_url)
tag_item['name'], if not replaced:
tag_url, debug) _save_custom_emoji(session, base_dir,
_update_common_emoji(base_dir, icon_name) tag_item['name'],
else: tag_url, debug)
_update_common_emoji(base_dir, _update_common_emoji(base_dir, icon_name)
"0x" + icon_name) else:
else: _update_common_emoji(base_dir,
# sequence of codes "0x" + icon_name)
icon_codes = icon_name.split('-') else:
# sequence of codes
icon_codes = icon_name.split('-')
icon_code_sequence = ''
for icode in icon_codes:
replaced = False
try:
icon_code_sequence += chr(int("0x" +
icode, 16))
replaced = True
except BaseException:
icon_code_sequence = '' icon_code_sequence = ''
for icode in icon_codes: if debug:
replaced = False print('EX: ' +
try: 'replace_emoji_from_tags 2 ' +
icon_code_sequence += chr(int("0x" + 'no conversion of ' +
icode, 16)) str(icode) + ' to chr ' +
replaced = True tag_item['name'] + ' ' +
except BaseException: tag_url)
icon_code_sequence = '' if not replaced:
if debug: _save_custom_emoji(session, base_dir,
print('EX: ' + tag_item['name'],
'replace_emoji_from_tags 2 ' + tag_url, debug)
'no conversion of ' + _update_common_emoji(base_dir,
str(icode) + ' to chr ' + icon_name)
tag_item['name'] + ' ' + else:
tag_url) _update_common_emoji(base_dir,
if not replaced: "0x" + icon_name)
_save_custom_emoji(session, base_dir, if icon_code_sequence:
tag_item['name'], if not screen_readable:
tag_url, debug) icon_code_sequence = \
_update_common_emoji(base_dir, '<span aria-hidden="true">' + \
icon_name) icon_code_sequence + '</span>'
else: content = content.replace(tag_item['name'],
_update_common_emoji(base_dir, icon_code_sequence)
"0x" + icon_name)
if icon_code_sequence:
if not screen_readable:
icon_code_sequence = \
'<span aria-hidden="true">' + \
icon_code_sequence + '</span>'
content = content.replace(tag_item['name'],
icon_code_sequence)
html_class = 'emoji' html_class = 'emoji'
if message_type == 'post header': if message_type == 'post header':

View File

@ -2662,7 +2662,8 @@ def _inbox_quota_exceeded(queue: {}, queue_filename: str,
except OSError: except OSError:
print('EX: _inbox_quota_exceeded unable to delete 1 ' + print('EX: _inbox_quota_exceeded unable to delete 1 ' +
str(queue_filename)) str(queue_filename))
queue.pop(0) if len(queue) > 0:
queue.pop(0)
return True return True
quotas_daily['domains'][post_domain] += 1 quotas_daily['domains'][post_domain] += 1
else: else:
@ -2684,7 +2685,8 @@ def _inbox_quota_exceeded(queue: {}, queue_filename: str,
except OSError: except OSError:
print('EX: _inbox_quota_exceeded unable to delete 2 ' + print('EX: _inbox_quota_exceeded unable to delete 2 ' +
str(queue_filename)) str(queue_filename))
queue.pop(0) if len(queue) > 0:
queue.pop(0)
return True return True
quotas_per_min['domains'][post_domain] += 1 quotas_per_min['domains'][post_domain] += 1
else: else:
@ -2705,7 +2707,8 @@ def _inbox_quota_exceeded(queue: {}, queue_filename: str,
except OSError: except OSError:
print('EX: _inbox_quota_exceeded unable to delete 3 ' + print('EX: _inbox_quota_exceeded unable to delete 3 ' +
str(queue_filename)) str(queue_filename))
queue.pop(0) if len(queue) > 0:
queue.pop(0)
return True return True
quotas_daily['accounts'][post_handle] += 1 quotas_daily['accounts'][post_handle] += 1
else: else:
@ -2727,7 +2730,8 @@ def _inbox_quota_exceeded(queue: {}, queue_filename: str,
except OSError: except OSError:
print('EX: _inbox_quota_exceeded unable to delete 4 ' + print('EX: _inbox_quota_exceeded unable to delete 4 ' +
str(queue_filename)) str(queue_filename))
queue.pop(0) if len(queue) > 0:
queue.pop(0)
return True return True
quotas_per_min['accounts'][post_handle] += 1 quotas_per_min['accounts'][post_handle] += 1
else: else: