From 876e2eeb91f6bc2e6e679261df1712cdfbdb3a31 Mon Sep 17 00:00:00 2001 From: bashrc Date: Thu, 15 Jan 2026 14:15:06 +0000 Subject: [PATCH] Exception handling --- daemon_post_receive.py | 8 ++++++-- filters.py | 16 ++++++++++++---- follow.py | 8 +++++++- manualapprove.py | 8 +++++++- media.py | 7 ++++++- outbox.py | 6 +++++- schedule.py | 6 +++++- 7 files changed, 48 insertions(+), 11 deletions(-) diff --git a/daemon_post_receive.py b/daemon_post_receive.py index a5f486624..1a4bc4343 100644 --- a/daemon_post_receive.py +++ b/daemon_post_receive.py @@ -1860,8 +1860,12 @@ def _receive_new_post_process(self, post_type: str, path: str, headers: {}, else: if os.path.isfile(filename): new_filename = filename.replace('.temp', '') - os.rename(filename, new_filename) - filename = new_filename + try: + os.rename(filename, new_filename) + filename = new_filename + except OSError: + print('EX: POST could not rename ' + + filename + ' -> ' + new_filename) fields = \ extract_text_fields_in_post(post_bytes, boundary, debug, None) diff --git a/filters.py b/filters.py index 242fd580c..c0103797d 100644 --- a/filters.py +++ b/filters.py @@ -79,8 +79,12 @@ def remove_filter(base_dir: str, nickname: str, domain: str, filters_filename + ' ' + str(ex)) return False if os.path.isfile(new_filters_filename): - os.rename(new_filters_filename, filters_filename) - return True + try: + os.rename(new_filters_filename, filters_filename) + return True + except OSError: + print('EX: remove_filter could not rename ' + + new_filters_filename + ' -> ' + filters_filename) return False @@ -105,8 +109,12 @@ def remove_global_filter(base_dir: str, words: str) -> bool: filters_filename + ' ' + str(ex)) return False if os.path.isfile(new_filters_filename): - os.rename(new_filters_filename, filters_filename) - return True + try: + os.rename(new_filters_filename, filters_filename) + return True + except OSError: + print('EX: remove_global_filter could not rename ' + + new_filters_filename + ' -> ' + filters_filename) return False diff --git a/follow.py b/follow.py index 956bb0f4f..3fef65de8 100644 --- a/follow.py +++ b/follow.py @@ -159,7 +159,13 @@ def _remove_from_follow_base(base_dir: str, print('EX: _remove_from_follow_base ' + approve_follows_filename + ' ' + str(ex)) - os.rename(approve_follows_filename + '.new', approve_follows_filename) + try: + os.rename(approve_follows_filename + '.new', + approve_follows_filename) + except OSError: + print('EX: _remove_from_follow_base could not rename ' + + approve_follows_filename + '.new' + ' -> ' + + approve_follows_filename) def remove_from_follow_requests(base_dir: str, diff --git a/manualapprove.py b/manualapprove.py index 20ca0ac9b..c014a1a36 100644 --- a/manualapprove.py +++ b/manualapprove.py @@ -363,7 +363,13 @@ def manual_approve_follow_request(session, session_onion, session_i2p, # mark this handle as approved for following _approve_follower_handle(account_dir, approve_handle) # update the follow requests with the handles not yet approved - os.rename(approve_follows_filename + '.new', approve_follows_filename) + try: + os.rename(approve_follows_filename + '.new', + approve_follows_filename) + except OSError: + print('EX: manual_approve_follow_request could not rename ' + + approve_follows_filename + '.new' + ' -> ' + + approve_follows_filename) # remove the .follow file if follow_activity_filename: if os.path.isfile(follow_activity_filename): diff --git a/media.py b/media.py index b9a31a2d6..fd2dd778b 100644 --- a/media.py +++ b/media.py @@ -454,7 +454,12 @@ def convert_image_to_low_bandwidth(image_filename: str) -> None: except OSError: print('EX: convert_image_to_low_bandwidth unable to delete ' + image_filename) - os.rename(low_bandwidth_filename, image_filename) + try: + os.rename(low_bandwidth_filename, image_filename) + except OSError: + print('EX: convert_image_to_low_bandwidth could not rename ' + + low_bandwidth_filename + ' -> ' + image_filename) + if os.path.isfile(image_filename): print('Image converted to low bandwidth ' + image_filename) else: diff --git a/outbox.py b/outbox.py index d5a18a3ec..a713be887 100644 --- a/outbox.py +++ b/outbox.py @@ -481,7 +481,11 @@ def post_message_to_outbox(session, translate: {}, create_media_dirs(base_dir, mpath) media_filename = base_dir + '/' + media_path # move the uploaded image to its new path - os.rename(upload_media_filename, media_filename) + try: + os.rename(upload_media_filename, media_filename) + except OSError: + print('EX: post_message_to_outbox unable to rename ' + + upload_media_filename + ' -> ' + media_filename) # convert dictionary to list if needed if isinstance(message_json['object']['attachment'], dict): message_json['object']['attachment'] = \ diff --git a/schedule.py b/schedule.py index 1a7d3342d..4c4506413 100644 --- a/schedule.py +++ b/schedule.py @@ -178,7 +178,11 @@ def _update_post_schedule(base_dir: str, handle: str, httpd, # move to the outbox outbox_post_filename = \ post_filename.replace('/scheduled/', '/outbox/') - os.rename(post_filename, outbox_post_filename) + try: + os.rename(post_filename, outbox_post_filename) + except OSError: + print('EX: _update_post_schedule unable to rename ' + + post_filename + ' -> ' + outbox_post_filename) print('Scheduled post sent ' + post_id)