From 10bea520a7ecddde9f1326da81e82b07e9909ee5 Mon Sep 17 00:00:00 2001 From: echel0n Date: Tue, 24 Jun 2014 16:40:13 -0700 Subject: [PATCH 1/4] Fixed backup/restore issues, uses correct data directory variable now. --- SickBeard.py | 16 ++++++++-------- sickbeard/webserve.py | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/SickBeard.py b/SickBeard.py index e811e542..96c7d793 100755 --- a/SickBeard.py +++ b/SickBeard.py @@ -270,14 +270,6 @@ def main(): sickbeard.CREATEPID = False - # Check if we need to perform a restore first - restoreDir = os.path.join(sickbeard.PROG_DIR, 'restore') - if os.path.exists(restoreDir): - if restore(restoreDir, sickbeard.PROG_DIR): - logger.log(u"Restore successful...") - else: - logger.log(u"Restore FAILED!", logger.ERROR) - # If they don't specify a config file then put it in the data dir if not sickbeard.CONFIG_FILE: sickbeard.CONFIG_FILE = os.path.join(sickbeard.DATA_DIR, "config.ini") @@ -300,6 +292,14 @@ def main(): elif not os.access(os.path.dirname(sickbeard.CONFIG_FILE), os.W_OK): raise SystemExit("Config file root dir '" + os.path.dirname(sickbeard.CONFIG_FILE) + "' must be writeable.") + # Check if we need to perform a restore first + restoreDir = os.path.join(sickbeard.DATA_DIR, 'restore') + if os.path.exists(restoreDir): + if restore(restoreDir, sickbeard.DATA_DIR): + logger.log(u"Restore successful...") + else: + logger.log(u"Restore FAILED!", logger.ERROR) + os.chdir(sickbeard.DATA_DIR) if consoleLogging: diff --git a/sickbeard/webserve.py b/sickbeard/webserve.py index 261f08de..faeb1e0e 100644 --- a/sickbeard/webserve.py +++ b/sickbeard/webserve.py @@ -1483,7 +1483,7 @@ class ConfigBackupRestore(MainHandler): finalResult = '' if backupDir: - source = [os.path.join(sickbeard.PROG_DIR, 'sickbeard.db'), os.path.join(sickbeard.PROG_DIR, 'config.ini')] + source = [os.path.join(sickbeard.DATA_DIR, 'sickbeard.db'), os.path.join(sickbeard.DATA_DIR, 'config.ini')] target = os.path.join(backupDir, 'sickrage-' + time.strftime('%Y%m%d%H%M%S') + '.zip') if helpers.makeZip(source, target): @@ -1505,7 +1505,7 @@ class ConfigBackupRestore(MainHandler): if backupFile: source = backupFile - target_dir = os.path.join(sickbeard.PROG_DIR, 'restore') + target_dir = os.path.join(sickbeard.DATA_DIR, 'restore') if helpers.extractZip(source, target_dir): finalResult += "Successfully extracted restore files to " + target_dir From 696a1a9f4af2e6c82afa6e12f2ca377e6b16bc82 Mon Sep 17 00:00:00 2001 From: echel0n Date: Tue, 24 Jun 2014 16:47:52 -0700 Subject: [PATCH 2/4] Fixed issue with backup/resotre config file variable --- sickbeard/webserve.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sickbeard/webserve.py b/sickbeard/webserve.py index faeb1e0e..1fbdc5ff 100644 --- a/sickbeard/webserve.py +++ b/sickbeard/webserve.py @@ -1483,7 +1483,7 @@ class ConfigBackupRestore(MainHandler): finalResult = '' if backupDir: - source = [os.path.join(sickbeard.DATA_DIR, 'sickbeard.db'), os.path.join(sickbeard.DATA_DIR, 'config.ini')] + source = [os.path.join(sickbeard.DATA_DIR, 'sickbeard.db'), sickbeard.CONFIG_FILE] target = os.path.join(backupDir, 'sickrage-' + time.strftime('%Y%m%d%H%M%S') + '.zip') if helpers.makeZip(source, target): From 92828eca54c30b12a63a2d6cec6d904520e67ba4 Mon Sep 17 00:00:00 2001 From: echel0n Date: Tue, 24 Jun 2014 16:59:14 -0700 Subject: [PATCH 3/4] Added error logging for backup zip creation. --- sickbeard/helpers.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sickbeard/helpers.py b/sickbeard/helpers.py index d178b273..848ac11c 100644 --- a/sickbeard/helpers.py +++ b/sickbeard/helpers.py @@ -1170,7 +1170,8 @@ def makeZip(fileList, archive): a.write(f) a.close() return True - except: + except Exception as e: + logger.log(u"Zip creation error: " + str(e), logger.ERROR) return False From 7fff3e0d637bc7a2c600ec126c688bf259bbd3cb Mon Sep 17 00:00:00 2001 From: echel0n Date: Tue, 24 Jun 2014 17:02:19 -0700 Subject: [PATCH 4/4] Added zip extraction exception logging. --- sickbeard/helpers.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sickbeard/helpers.py b/sickbeard/helpers.py index 848ac11c..7bb73983 100644 --- a/sickbeard/helpers.py +++ b/sickbeard/helpers.py @@ -1199,5 +1199,6 @@ def extractZip(archive, targetDir): target.close() zip_file.close() return True - except: + except Exception as e: + logger.log(u"Zip extraction error: " + str(e), logger.ERROR) return False \ No newline at end of file