From 8e073de00ad9bcaae45f6b26f0846310b4a98b19 Mon Sep 17 00:00:00 2001 From: clinton-hall Date: Sat, 9 Aug 2014 09:54:56 +0930 Subject: [PATCH] allow custom aprams in auto fork Fixes #501 Improve exceptions Fixes #527 --- nzbtomedia/autoProcess/autoProcessMovie.py | 2 +- nzbtomedia/autoProcess/autoProcessMusic.py | 2 +- nzbtomedia/autoProcess/autoProcessTV.py | 2 +- nzbtomedia/nzbToMediaAutoFork.py | 7 +++++-- nzbtomedia/nzbToMediaSceneExceptions.py | 4 ++-- 5 files changed, 10 insertions(+), 7 deletions(-) diff --git a/nzbtomedia/autoProcess/autoProcessMovie.py b/nzbtomedia/autoProcess/autoProcessMovie.py index 23cbdc6b..e02a88fd 100644 --- a/nzbtomedia/autoProcess/autoProcessMovie.py +++ b/nzbtomedia/autoProcess/autoProcessMovie.py @@ -161,7 +161,7 @@ class autoProcessMovie: if os.path.isdir(SpecificPath): dirName = SpecificPath - process_all_exceptions(inputName.lower(), dirName) + process_all_exceptions(inputName, dirName) inputName, dirName = convert_to_ascii(inputName, dirName) if not listMediaFiles(dirName, media=True, audio=False, meta=False, archives=False) and listMediaFiles(dirName, media=False, audio=False, meta=False, archives=True) and extract: diff --git a/nzbtomedia/autoProcess/autoProcessMusic.py b/nzbtomedia/autoProcess/autoProcessMusic.py index 90c0c3c7..8d951d17 100644 --- a/nzbtomedia/autoProcess/autoProcessMusic.py +++ b/nzbtomedia/autoProcess/autoProcessMusic.py @@ -77,7 +77,7 @@ class autoProcessMusic: if os.path.isdir(SpecificPath): dirName = SpecificPath - process_all_exceptions(inputName.lower(), dirName) + process_all_exceptions(inputName, dirName) inputName, dirName = convert_to_ascii(inputName, dirName) if not listMediaFiles(dirName, media=False, audio=True, meta=False, archives=False) and listMediaFiles(dirName, media=False, audio=False, meta=False, archives=True) and extract: diff --git a/nzbtomedia/autoProcess/autoProcessTV.py b/nzbtomedia/autoProcess/autoProcessTV.py index 9081765f..a040a51c 100644 --- a/nzbtomedia/autoProcess/autoProcessTV.py +++ b/nzbtomedia/autoProcess/autoProcessTV.py @@ -136,7 +136,7 @@ class autoProcessTV: if fork not in nzbtomedia.SICKBEARD_TORRENT or (clientAgent in ['nzbget','sabnzbd'] and nzbExtractionBy != "Destination"): if inputName: - process_all_exceptions(inputName.lower(), dirName) + process_all_exceptions(inputName, dirName) inputName, dirName = convert_to_ascii(inputName, dirName) # Now check if tv files exist in destination. diff --git a/nzbtomedia/nzbToMediaAutoFork.py b/nzbtomedia/nzbToMediaAutoFork.py index 5fd74298..6a554028 100644 --- a/nzbtomedia/nzbToMediaAutoFork.py +++ b/nzbtomedia/nzbToMediaAutoFork.py @@ -61,6 +61,8 @@ def autoFork(section, inputCategory): fork = ['default', {}] elif fork == "auto": + params = nzbtomedia.ALL_FORKS + rem_params = [] logger.info("Attempting to auto-detect %s fork" % inputCategory) # define the order to test. Default must be first since the default fork doesn't reject parameters. # then in order of most unique parameters. @@ -74,8 +76,6 @@ def autoFork(section, inputCategory): except requests.ConnectionError: logger.info("Could not connect to %s:%s to perform auto-fork detection!" % (section, inputCategory)) if r.ok: - params = nzbtomedia.ALL_FORKS - rem_params = [] for param in params: if not 'name="%s"' %(param) in r.text: rem_params.append(param) @@ -87,6 +87,9 @@ def autoFork(section, inputCategory): break if detected: logger.info("%s:%s fork auto-detection successful ..." % (section, inputCategory)) + elif rem_params: + logger.info("%s:%s fork auto-detection found custom params %s" % (section, inputCategory, params)) + fork = ['custom', params] else: logger.info("%s:%s fork auto-detection failed" % (section, inputCategory)) fork = nzbtomedia.FORKS.items()[nzbtomedia.FORKS.keys().index(nzbtomedia.FORK_DEFAULT)] diff --git a/nzbtomedia/nzbToMediaSceneExceptions.py b/nzbtomedia/nzbToMediaSceneExceptions.py index dc9a92aa..6bb1fad3 100644 --- a/nzbtomedia/nzbToMediaSceneExceptions.py +++ b/nzbtomedia/nzbToMediaSceneExceptions.py @@ -32,10 +32,10 @@ def process_all_exceptions(name, dirname): def replace_filename(filename, dirname, name): head, fileExtension = os.path.splitext(os.path.basename(filename)) - if media_pattern.search(os.path.basename(dirname)) is not None: + if media_pattern.search(os.path.basename(dirname).replace(' ','.')) is not None: newname = os.path.basename(dirname) logger.debug("Replacing file name %s with directory name %s" % (head, newname), "EXCEPTION") - elif media_pattern.search(name) is not None: + elif media_pattern.search(name.replace(' ','.').lower()) is not None: newname = name logger.debug("Replacing file name %s with download name %s" % (head, newname), "EXCEPTION") else: