From 017e2239a4c31ef16839863a2a16e73398f070e9 Mon Sep 17 00:00:00 2001 From: echel0n Date: Sun, 30 Mar 2014 18:11:51 -0700 Subject: [PATCH] Fixed process_method issue #296 Fixed bug where it would detect the incorrect fork branch due to improperly set constants Adds ability for user to set process_method from cfg file, leaving it empty defaults to sickbeard's process method from its config. --- autoProcess/autoProcessTV.py | 18 +++++++++++++++--- autoProcess/migratecfg.py | 4 ++-- autoProcess/nzbToMediaEnv.py | 2 +- autoProcessMedia.cfg.sample | 2 +- 4 files changed, 19 insertions(+), 7 deletions(-) diff --git a/autoProcess/autoProcessTV.py b/autoProcess/autoProcessTV.py index b7a2d4db..da0abdc0 100644 --- a/autoProcess/autoProcessTV.py +++ b/autoProcess/autoProcessTV.py @@ -106,6 +106,11 @@ def processEpisode(dirName, nzbName=None, failed=False, clientAgent=None, inputC except (ConfigParser.NoOptionError, ValueError): nzbExtractionBy = "Downloader" + try: + process_method = config.get(section, "process_method") + except ConfigParser.NoOptionError: + process_method = None + TimeOut = 60 * int(wait_for) # SickBeard needs to complete all moving and renaming before returning the log sequence via url. socket.setdefaulttimeout(int(TimeOut)) #initialize socket timeout. @@ -152,17 +157,24 @@ def processEpisode(dirName, nzbName=None, failed=False, clientAgent=None, inputC if watch_dir != "" and (not host in ['localhost', '127.0.0.1'] or nzbName == "Manual Run"): dirName = watch_dir + # don't have sickbeard display any output params['quiet'] = 1 for param in copy.copy(params): if param is "failed": - params["failed"] = failed + params[param] = failed if param is "dirName": - params["dirName"] = dirName + params[param] = dirName if param is "dir": - params["dir"] = dirName + params[param] = dirName + + if param is "process_method": + if process_method: + params[param] = process_method + else: + del params[param] if nzbName != None: params['nzbName'] = nzbName diff --git a/autoProcess/migratecfg.py b/autoProcess/migratecfg.py index d1e3e20b..cdd1187f 100644 --- a/autoProcess/migratecfg.py +++ b/autoProcess/migratecfg.py @@ -305,8 +305,8 @@ def addnzbget(): section = "SickBeard" - envKeys = ['CATEGORY', 'HOST', 'PORT', 'USERNAME', 'PASSWORD', 'SSL', 'WEB_ROOT', 'WATCH_DIR', 'FORK', 'DELETE_FAILED', 'DELAY', 'WAIT_FOR'] - cfgKeys = ['sbCategory', 'host', 'port', 'username', 'password', 'ssl', 'web_root', 'watch_dir', 'fork', 'delete_failed', 'delay', 'wait_for'] + envKeys = ['CATEGORY', 'HOST', 'PORT', 'USERNAME', 'PASSWORD', 'SSL', 'WEB_ROOT', 'WATCH_DIR', 'FORK', 'DELETE_FAILED', 'DELAY', 'WAIT_FOR', 'PROCESS_METHOD'] + cfgKeys = ['sbCategory', 'host', 'port', 'username', 'password', 'ssl', 'web_root', 'watch_dir', 'fork', 'delete_failed', 'delay', 'wait_for', 'process_method'] for index in range(len(envKeys)): key = 'NZBPO_SB' + envKeys[index] if os.environ.has_key(key): diff --git a/autoProcess/nzbToMediaEnv.py b/autoProcess/nzbToMediaEnv.py index 928b7e34..bf5798ca 100644 --- a/autoProcess/nzbToMediaEnv.py +++ b/autoProcess/nzbToMediaEnv.py @@ -15,7 +15,7 @@ fork_failed_torrent = "failed-torrent" forks = {} forks[fork_default] = {"dir": None, "process": None} -forks[fork_failed] = {"dir": None, "failed": None} +forks[fork_failed] = {"dirName": None, "failed": None} forks[fork_failed_torrent] = {"dir": None, "failed": None, "process_method": None} SICKBEARD_FAILED = [fork_failed, fork_failed_torrent] diff --git a/autoProcessMedia.cfg.sample b/autoProcessMedia.cfg.sample index ede393b5..946a7b2d 100644 --- a/autoProcessMedia.cfg.sample +++ b/autoProcessMedia.cfg.sample @@ -37,7 +37,7 @@ fork = auto delete_failed = 0 nzbExtractionBy = Downloader Torrent_ForceLink = 1 - +process_method = [HeadPhones] #### autoProcessing for Music