From e7751b96c5f7a6e3e72bc2b1876426afbf2cc6a0 Mon Sep 17 00:00:00 2001 From: echel0n Date: Wed, 2 Apr 2014 20:29:35 -0700 Subject: [PATCH] Added code for Headphones manual run --- autoProcess/autoProcessMusic.py | 7 ++----- nzbToHeadPhones.py | 9 ++++++++- nzbToMedia.py | 17 ++++++++++++++--- 3 files changed, 24 insertions(+), 9 deletions(-) diff --git a/autoProcess/autoProcessMusic.py b/autoProcess/autoProcessMusic.py index a985e55d..eb55e427 100644 --- a/autoProcess/autoProcessMusic.py +++ b/autoProcess/autoProcessMusic.py @@ -8,19 +8,16 @@ from nzbToMediaUtil import * Logger = logging.getLogger() -def process(dirName, nzbName=None, status=0, inputCategory=None): +def process(dirName, nzbName=None, status=0, clientAgent="manual", inputCategory=None): status = int(status) - Logger.info("Loading config from %s", CONFIG_FILE) if not config(): Logger.error("You need an autoProcessMedia.cfg file - did you rename and edit the .sample?") return 1 # failure - - section = "HeadPhones" if inputCategory != None and config().has_section(inputCategory): section = inputCategory @@ -47,7 +44,7 @@ def process(dirName, nzbName=None, status=0, inputCategory=None): else: protocol = "http://" # don't delay when we are calling this script manually. - if nzbName == "Manual Run": + if clientAgent == "manual": delay = 0 nzbName, dirName = convert_to_ascii(nzbName, dirName) diff --git a/nzbToHeadPhones.py b/nzbToHeadPhones.py index 8df67885..403e7179 100755 --- a/nzbToHeadPhones.py +++ b/nzbToHeadPhones.py @@ -170,10 +170,17 @@ elif len(sys.argv) >= SABNZB_0717_NO_OF_ARGUMENTS: Logger.info("MAIN: Script triggered from SABnzbd 0.7.17+, starting autoProcessMusic...") result = autoProcessMusic.process(sys.argv[1], sys.argv[2], sys.argv[7]) else: + result = 0 + hpCategory = (config().get("HeadPhones", "hpCategory")).split(',') # music + dirNames = get_dirnames("SickBeard", hpCategory[0]) + Logger.warn("MAIN: Invalid number of arguments received from client.") Logger.info("MAIN: Running autoProcessMusic as a manual run...") - result = autoProcessMusic.process('Manual Run', 'Manual Run', 0) + for dirName in dirNames: + Logger.info("MAIN: Calling Headphones to post-process: %s", dirName) + result = result = autoProcessMusic.process(dirName, dirName, 0) + if result != 0: break if result == 0: Logger.info("MAIN: The autoProcessMusic script completed successfully.") if os.environ.has_key('NZBOP_SCRIPTDIR'): # return code for nzbget v11 diff --git a/nzbToMedia.py b/nzbToMedia.py index 01392f89..1b29dbaf 100755 --- a/nzbToMedia.py +++ b/nzbToMedia.py @@ -408,7 +408,11 @@ else: # only CPS and SB supports this manual run for now. Logger.info("MAIN: Running autoProcessTV as a manual run...") dirNames = get_dirnames("SickBeard", sbCategory[0]) - nzbDir, inputName, status, inputCategory, download_id = (dirNames, dirNames, 0, sbCategory[0], '') + nzbDir, inputName, status, inputCategory, = (dirNames, dirNames, 0, sbCategory[0]) + + Logger.info("MAIN: Running autoProcessMusic as a manual run...") + dirNames = get_dirnames("HeadPhones", hpCategory[0]) + nzbDir, inputName, status, inputCategory = (dirNames, dirNames, 0, sbCategory[0]) if inputCategory in cpsCategory: Logger.info("MAIN: Calling CouchPotatoServer to post-process: %s", inputName) @@ -424,8 +428,15 @@ elif inputCategory in sbCategory: Logger.info("MAIN: Calling Sick-Beard to post-process: %s", inputName) result = autoProcessTV.processEpisode(nzbDir, inputName, status, clientAgent, inputCategory) elif inputCategory in hpCategory: - Logger.info("MAIN: Calling HeadPhones to post-process: %s", inputName) - result = autoProcessMusic.process(nzbDir, inputName, status, inputCategory) + result = 0 + if isinstance(nzbDir, list): + for dirName in nzbDir: + Logger.info("MAIN: Calling Headphones to post-process: %s", dirName) + result = autoProcessMusic.process(dirName, dirName, status, clientAgent, inputCategory) + if result != 0: break + else: + Logger.info("MAIN: Calling HeadPhones to post-process: %s", inputName) + result = autoProcessMusic.process(nzbDir, inputName, status, clientAgent, inputCategory) elif inputCategory in mlCategory: Logger.info("MAIN: Calling Mylar to post-process: %s", inputName) result = autoProcessComics.processEpisode(nzbDir, inputName, status, inputCategory)