diff --git a/core/auto_process/movies.py b/core/auto_process/movies.py index 76d49b78..4d2a4b2f 100644 --- a/core/auto_process/movies.py +++ b/core/auto_process/movies.py @@ -504,7 +504,7 @@ def get_release(base_url, imdb_id=None, download_id=None, release_id=None): # Narrow results by removing old releases by comparing their last_edit field if len(results) > 1: for id1, x1 in results.items(): - for id2, x2 in results.items(): + for x2 in results.values(): try: if x2['last_edit'] > x1['last_edit']: results.pop(id1) diff --git a/core/configuration.py b/core/configuration.py index 216a1f05..2d34c8bc 100644 --- a/core/configuration.py +++ b/core/configuration.py @@ -13,17 +13,17 @@ from core import logger class Section(configobj.Section, object): - def isenabled(section): + def isenabled(self): # checks if subsection enabled, returns true/false if subsection specified otherwise returns true/false in {} - if not section.sections: + if not self.sections: try: - value = list(ConfigObj.find_key(section, 'enabled'))[0] + value = list(ConfigObj.find_key(self, 'enabled'))[0] except Exception: value = 0 if int(value) == 1: - return section + return self else: - to_return = copy.deepcopy(section) + to_return = copy.deepcopy(self) for section_name, subsections in to_return.items(): for subsection in subsections: try: @@ -40,8 +40,8 @@ class Section(configobj.Section, object): return to_return - def findsection(section, key): - to_return = copy.deepcopy(section) + def findsection(self, key): + to_return = copy.deepcopy(self) for subsection in to_return: try: value = list(ConfigObj.find_key(to_return[subsection], key))[0] @@ -136,10 +136,10 @@ class ConfigObj(configobj.ConfigObj, Section): subsections = {} # gather all new-style and old-style sub-sections - for newsection, newitems in CFG_NEW.items(): + for newsection in CFG_NEW: if CFG_NEW[newsection].sections: subsections.update({newsection: CFG_NEW[newsection].sections}) - for section, items in CFG_OLD.items(): + for section in CFG_OLD: if CFG_OLD[section].sections: subsections.update({section: CFG_OLD[section].sections}) for option, value in CFG_OLD[section].items(): diff --git a/core/logger.py b/core/logger.py index df5a5120..bdb7e683 100644 --- a/core/logger.py +++ b/core/logger.py @@ -6,6 +6,7 @@ import sys import threading import core +import functools # number of log files to keep NUM_LOGS = 3 @@ -199,9 +200,8 @@ class NTMRotatingLogHandler(object): ntm_logger = logging.getLogger('nzbtomedia') pp_logger = logging.getLogger('postprocess') db_logger = logging.getLogger('db') - setattr(pp_logger, 'postprocess', lambda *args: pp_logger.log(POSTPROCESS, *args)) - setattr(db_logger, 'db', lambda *args: db_logger.log(DB, *args)) - + pp_logger.postprocess = functools.partial(pp_logger.log, POSTPROCESS) + db_logger.db = functools.partial(db_logger.log, DB) try: if log_level == DEBUG: if core.LOG_DEBUG == 1: diff --git a/core/scene_exceptions.py b/core/scene_exceptions.py index d62df0ba..0b70c52c 100644 --- a/core/scene_exceptions.py +++ b/core/scene_exceptions.py @@ -121,7 +121,7 @@ def reverse_filename(filename, dirname, name): def rename_script(dirname): rename_file = '' - for directory, directories, files in os.walk(dirname): + for directory, _, files in os.walk(dirname): for file in files: if re.search(r'(rename\S*\.(sh|bat)$)', file, re.IGNORECASE): rename_file = os.path.join(directory, file) diff --git a/core/transcoder.py b/core/transcoder.py index d4b7e2f2..f0047dad 100644 --- a/core/transcoder.py +++ b/core/transcoder.py @@ -519,7 +519,7 @@ def get_subs(file): sub_ext = ['.srt', '.sub', '.idx'] name = os.path.splitext(os.path.split(file)[1])[0] path = os.path.split(file)[0] - for directory, directories, filenames in os.walk(path): + for directory, _, filenames in os.walk(path): for filename in filenames: filepaths.extend([os.path.join(directory, filename)]) subfiles = [item for item in filepaths if os.path.splitext(item)[1] in sub_ext and name in item] diff --git a/core/user_scripts.py b/core/user_scripts.py index 5d447670..fbc58614 100644 --- a/core/user_scripts.py +++ b/core/user_scripts.py @@ -47,7 +47,7 @@ def external_script(output_destination, torrent_name, torrent_label, settings): logger.info('Corrupt video file found {0}. Deleting.'.format(video), 'USERSCRIPT') os.unlink(video) - for dirpath, dirnames, filenames in os.walk(output_destination): + for dirpath, _, filenames in os.walk(output_destination): for file in filenames: file_path = core.os.path.join(dirpath, file) @@ -102,7 +102,7 @@ def external_script(output_destination, torrent_name, torrent_label, settings): final_result += result num_files_new = 0 - for dirpath, dirnames, filenames in os.walk(output_destination): + for _, _, filenames in os.walk(output_destination): for file in filenames: file_name, file_extension = os.path.splitext(file) diff --git a/core/utils/encoding.py b/core/utils/encoding.py index ca19e054..cbcc3113 100644 --- a/core/utils/encoding.py +++ b/core/utils/encoding.py @@ -68,14 +68,14 @@ def convert_to_ascii(input_name, dir_name): if 'NZBOP_SCRIPTDIR' in os.environ: print('[NZB] DIRECTORY={0}'.format(dir_name)) - for dirname, dirnames, filenames in os.walk(dir_name, topdown=False): + for dirname, dirnames, _ in os.walk(dir_name, topdown=False): for subdirname in dirnames: encoded, subdirname2 = char_replace(subdirname) if encoded: logger.info('Renaming directory to: {0}.'.format(subdirname2), 'ENCODER') os.rename(os.path.join(dirname, subdirname), os.path.join(dirname, subdirname2)) - for dirname, dirnames, filenames in os.walk(dir_name): + for dirname, _, filenames in os.walk(dir_name): for filename in filenames: encoded, filename2 = char_replace(filename) if encoded: diff --git a/core/version_check.py b/core/version_check.py index 23384a44..e7dc5578 100644 --- a/core/version_check.py +++ b/core/version_check.py @@ -487,7 +487,7 @@ class SourceUpdateManager(UpdateManager): # walk temp folder and move files to main folder logger.log(u'Moving files from {source} to {destination}'.format (source=content_dir, destination=core.APP_ROOT)) - for dirname, dirnames, filenames in os.walk(content_dir): # @UnusedVariable + for dirname, _, filenames in os.walk(content_dir): # @UnusedVariable dirname = dirname[len(content_dir) + 1:] for curfile in filenames: old_path = os.path.join(content_dir, dirname, curfile) diff --git a/tox.ini b/tox.ini index 2111ddc6..c614d8d3 100644 --- a/tox.ini +++ b/tox.ini @@ -33,6 +33,12 @@ commands = max-line-length = 79 verbose = 2 statistics = True +select = +; -- flake8-bugbear -- +; B902 Invalid first argument used for instance method. +; B903 Data class should either be immutable or use __slots__ to save memory. + B902, B903 + ignore = ; -- flake8 -- ; E501 line too long @@ -65,6 +71,7 @@ per-file-ignores = [testenv:check] deps = flake8 + flake8-bugbear flake8-commas flake8-comprehensions flake8-docstrings