From 71428366227e3026dcbdcb7df6dc42296b047813 Mon Sep 17 00:00:00 2001 From: Charles Date: Thu, 31 May 2018 18:28:16 -0400 Subject: [PATCH 1/2] Adding exception handling to GoodreadsClient if site is down --- cps/web.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/cps/web.py b/cps/web.py index f69e3855..efcd4653 100755 --- a/cps/web.py +++ b/cps/web.py @@ -1225,9 +1225,13 @@ def author(book_id, page): author_info = None other_books = [] if goodreads_support and config.config_use_goodreads: - gc = GoodreadsClient(config.config_goodreads_api_key, config.config_goodreads_api_secret) - author_info = gc.find_author(author_name=name) - other_books = get_unique_other_books(entries.all(), author_info.books) + try: + gc = GoodreadsClient(config.config_goodreads_api_key, config.config_goodreads_api_secret) + author_info = gc.find_author(author_name=name) + other_books = get_unique_other_books(entries.all(), author_info.books) + except: + # Skip goodreads, if site is down/inaccessible + pass return render_title_template('author.html', entries=entries, pagination=pagination, title=name, author=author_info, other_books=other_books) From 274d2d9d210fd9c883fe10460cad46e503af0a4f Mon Sep 17 00:00:00 2001 From: SiphonSquirrel Date: Sun, 3 Jun 2018 21:17:22 -0400 Subject: [PATCH 2/2] 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: