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

View File

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