From 274d2d9d210fd9c883fe10460cad46e503af0a4f Mon Sep 17 00:00:00 2001 From: SiphonSquirrel Date: Sun, 3 Jun 2018 21:17:22 -0400 Subject: [PATCH] Improve rename logic for directory name collisions. --- cps/helper.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/cps/helper.py b/cps/helper.py index 237f8981..b1e78329 100755 --- a/cps/helper.py +++ b/cps/helper.py @@ -332,7 +332,12 @@ def update_dir_stucture(book_id, calibrepath): if titledir != new_titledir: try: new_title_path = os.path.join(os.path.dirname(path), new_titledir) - os.renames(path, new_title_path) + if not os.path.exists(new_title_path): + os.renames(path, new_title_path) + else: + for dir_name, subdir_list, file_list in os.walk(path): + for file in file_list: + os.renames(os.path.join(dir_name, file), os.path.join(new_title_path + dir_name[len(path):], file)) path = new_title_path localbook.path = localbook.path.split('/')[0] + '/' + new_titledir except OSError as ex: