From 82ec2d220bb9dd976dcab15076eed77a9ec57deb Mon Sep 17 00:00:00 2001 From: pinb-mini Date: Fri, 30 Aug 2024 22:36:11 +0900 Subject: [PATCH] bug fix: add try~catch --- bunnysync.py | 2 +- sync.py | 53 +++++++++++++++++++++++++++------------------------- 2 files changed, 29 insertions(+), 26 deletions(-) diff --git a/bunnysync.py b/bunnysync.py index 5babead..1fb0130 100644 --- a/bunnysync.py +++ b/bunnysync.py @@ -13,4 +13,4 @@ if __name__ == '__main__': sys.exit(app.exec_()) -# pyinstaller --onefile bunnysync.py --add-data "images/realrabbit.ico:images" --add-data "images/realrabbit2.png:images" --icon=images/realrabbit.png --noconsole \ No newline at end of file +# pyinstaller --onefile bunnysync.py --add-data "images/realrabbit.png:images" --add-data "images/realrabbit2.png:images" --icon=images/realrabbit.png --noconsole \ No newline at end of file diff --git a/sync.py b/sync.py index 44ec267..b048875 100644 --- a/sync.py +++ b/sync.py @@ -74,32 +74,35 @@ class FolderSynchronizer: count_sync = 0 for root, _, files in os.walk(src_folder): for filename in files: - src_path = os.path.join(root, filename) - rel_dir = os.path.relpath(root, src_folder) - dest_path = os.path.join(dest_folder, rel_dir, filename) - total_sync += 1 - - src_modified = os.path.getmtime(src_path) - file_info = self.get_file_info(rel_dir, filename) - - if not file_info: - # New file - os.makedirs(os.path.dirname(dest_path), exist_ok=True) - shutil.copy2(src_path, dest_path) - count_sync += 1 - dest_modified = current_time - modified1, exist1, modified2, exist2 = src_modified, 1, dest_modified, 1 - else: - # Existing file - if src_modified > file_info[3] or not file_info[4]: - shutil.copy2(src_path, dest_path) - count_sync += 1 - dest_modified = current_time - modified1, exist1, modified2, exist2 = src_modified, 1, dest_modified, 1 + try: + src_path = os.path.join(root, filename) + rel_dir = os.path.relpath(root, src_folder) + dest_path = os.path.join(dest_folder, rel_dir, filename) + total_sync += 1 + + src_modified = os.path.getmtime(src_path) + file_info = self.get_file_info(rel_dir, filename) + + if not file_info: + # New file + os.makedirs(os.path.dirname(dest_path), exist_ok=True) + shutil.copy2(src_path, dest_path) + count_sync += 1 + dest_modified = current_time + modified1, exist1, modified2, exist2 = src_modified, 1, dest_modified, 1 else: - modified1, exist1, modified2, exist2 = src_modified, 1, file_info[5], file_info[6] - - self.update_db(rel_dir, filename, modified1, exist1, modified2, exist2) + # Existing file + if src_modified > file_info[3] or not file_info[4]: + shutil.copy2(src_path, dest_path) + count_sync += 1 + dest_modified = current_time + modified1, exist1, modified2, exist2 = src_modified, 1, dest_modified, 1 + else: + modified1, exist1, modified2, exist2 = src_modified, 1, file_info[5], file_info[6] + except: + pass + finally: + self.update_db(rel_dir, filename, modified1, exist1, modified2, exist2) return total_sync, count_sync