From 6820188605b0c63908fb6b8b99f4af304fe5a98e Mon Sep 17 00:00:00 2001 From: echel0n Date: Mon, 7 Apr 2014 08:20:35 -0700 Subject: [PATCH] Fix bug in enabled check, changed code to return list and proper turn to string --- nzbtomedia/autoProcess/autoProcessComics.py | 4 +-- nzbtomedia/autoProcess/autoProcessGames.py | 4 +-- nzbtomedia/autoProcess/autoProcessMovie.py | 4 +-- nzbtomedia/autoProcess/autoProcessMusic.py | 3 +- nzbtomedia/autoProcess/autoProcessTV.py | 4 +-- nzbtomedia/nzbToMediaConfig.py | 39 +++++++++++---------- 6 files changed, 30 insertions(+), 28 deletions(-) diff --git a/nzbtomedia/autoProcess/autoProcessComics.py b/nzbtomedia/autoProcess/autoProcessComics.py index 295b1ab2..684e96d9 100644 --- a/nzbtomedia/autoProcess/autoProcessComics.py +++ b/nzbtomedia/autoProcess/autoProcessComics.py @@ -15,8 +15,8 @@ class autoProcessComics: return 1 # failure # auto-detect correct section - section = config.issubsection(inputCategory, checkenabled=True) - if len(section) == 0: + section = config.issubsection(inputCategory, checkenabled=True)[0] + if not section: Logger.error( "MAIN: We were unable to find a processor for category %s that was enabled, please check your autoProcessMedia.cfg file.", inputCategory) return 1 diff --git a/nzbtomedia/autoProcess/autoProcessGames.py b/nzbtomedia/autoProcess/autoProcessGames.py index 7104dea3..ecf8bfd7 100644 --- a/nzbtomedia/autoProcess/autoProcessGames.py +++ b/nzbtomedia/autoProcess/autoProcessGames.py @@ -14,8 +14,8 @@ class autoProcessGames: return 1 # failure # auto-detect correct section - section = config.issubsection(inputCategory, checkenabled=True) - if len(section) == 0: + section = config.issubsection(inputCategory, checkenabled=True)[0] + if not section: Logger.error( "MAIN: We were unable to find a processor for category %s that was enabled, please check your autoProcessMedia.cfg file.", inputCategory) return 1 diff --git a/nzbtomedia/autoProcess/autoProcessMovie.py b/nzbtomedia/autoProcess/autoProcessMovie.py index 4b37829b..6a818ec0 100644 --- a/nzbtomedia/autoProcess/autoProcessMovie.py +++ b/nzbtomedia/autoProcess/autoProcessMovie.py @@ -166,8 +166,8 @@ class autoProcessMovie: return 1 # failure # auto-detect correct section - section = config.issubsection(inputCategory, checkenabled=True) - if len(section) == 0: + section = config.issubsection(inputCategory, checkenabled=True)[0] + if not section: Logger.error( "MAIN: We were unable to find a processor for category %s that was enabled, please check your autoProcessMedia.cfg file.", inputCategory) return 1 diff --git a/nzbtomedia/autoProcess/autoProcessMusic.py b/nzbtomedia/autoProcess/autoProcessMusic.py index 6fb2c3f3..47c01e04 100644 --- a/nzbtomedia/autoProcess/autoProcessMusic.py +++ b/nzbtomedia/autoProcess/autoProcessMusic.py @@ -15,7 +15,7 @@ class autoProcessMusic: return 1 # failure # auto-detect correct section - section = config.issubsection(inputCategory,checkenabled=True) + section = config.issubsection(inputCategory,checkenabled=True)[0] if len(section) == 0: Logger.error( "MAIN: We were unable to find a processor for category %s that was enabled, please check your autoProcessMedia.cfg file.", inputCategory) @@ -44,6 +44,7 @@ class autoProcessMusic: TimePerGiB = int(config()[section][inputCategory]["TimePerGiB"]) except: TimePerGiB = 60 # note, if using Network to transfer on 100Mbit LAN, expect ~ 600 MB/minute. + if ssl: protocol = "https://" else: diff --git a/nzbtomedia/autoProcess/autoProcessTV.py b/nzbtomedia/autoProcess/autoProcessTV.py index 1d3bc1fe..f9912e6d 100644 --- a/nzbtomedia/autoProcess/autoProcessTV.py +++ b/nzbtomedia/autoProcess/autoProcessTV.py @@ -21,8 +21,8 @@ class autoProcessTV: return 1 # failure # auto-detect correct section - section = config.issubsection(inputCategory, checkenabled=True) - if len(section) == 0: + section = config.issubsection(inputCategory, checkenabled=True)[0] + if not section: Logger.error( "MAIN: We were unable to find a processor for category %s that was enabled, please check your autoProcessMedia.cfg file.", inputCategory) return 1 diff --git a/nzbtomedia/nzbToMediaConfig.py b/nzbtomedia/nzbToMediaConfig.py index ce7dc03d..9508ac88 100644 --- a/nzbtomedia/nzbToMediaConfig.py +++ b/nzbtomedia/nzbToMediaConfig.py @@ -1,10 +1,19 @@ -import logging import os import shutil -from lib import configobj +import lib.configobj +from lib.configobj import ConfigObj from itertools import chain -class config(object): +original_ConfigObj = lib.configobj.ConfigObj +class config(original_ConfigObj): + def __init__(self, *args, **kw): + if len(args) == 0: + args = (self.CONFIG_FILE,) + super(lib.configobj.ConfigObj, self).__init__(*args, **kw) + + def __call__(self, *args, **kwargs): + print() + # constants for nzbtomedia NZBTOMEDIA_VERSION = 'V9.3' NZBTOMEDIA_TIMEOUT = 60 @@ -40,15 +49,6 @@ class config(object): LOG_CONFIG = os.path.join(PROGRAM_DIR, "logging.cfg") SAMPLE_LOG_CONFIG = os.path.join(PROGRAM_DIR, "logging.cfg.sample") - def __new__(cls, *config_file): - try: - # load config - if not config_file: - return configobj.ConfigObj(cls.CONFIG_FILE, interpolation=False) - else: - return configobj.ConfigObj(*config_file, interpolation=False) - except Exception, e: - return @staticmethod def issubsection(inputCategory, sections=None, checkenabled=False): @@ -60,15 +60,15 @@ class config(object): if not isinstance(sections, list): sections = [sections] - results = set() + results = [] for section in sections: if config()[section].has_key(inputCategory): if checkenabled: if config.isenabled(section, inputCategory): - results.add(section) + results.append(section) else: - results.add(section) - return results if results.issubset(sections) else False + results.append(section) + return results if list(set(results).intersection(set(sections))) else False @staticmethod def get_sections(subsections): @@ -114,8 +114,7 @@ class config(object): if key in config()[section].keys(): return config()[section][key] - @staticmethod - def migrate(): + def migrate(self, *args, **kw): global config_new, config_old config_new = config_old = None @@ -354,4 +353,6 @@ class config(object): # writing our configuration file to 'autoProcessMedia.cfg' with open(config.CONFIG_FILE, 'wb') as configFile: - config_new.write(configFile) \ No newline at end of file + config_new.write(configFile) + +lib.configobj.ConfigObj = config \ No newline at end of file