From 0688ed4dd1522dd3b230f910e227d5023f2b3af0 Mon Sep 17 00:00:00 2001 From: Lance Edgar Date: Sun, 31 Aug 2025 11:51:59 -0500 Subject: [PATCH] fix: fix 'too-many-branches' for pylint --- .pylintrc | 4 +-- src/wuttjamaican/conf.py | 68 ++++++++++++++++++++++------------------ 2 files changed, 39 insertions(+), 33 deletions(-) diff --git a/.pylintrc b/.pylintrc index a8bc68a..7eb5e2c 100644 --- a/.pylintrc +++ b/.pylintrc @@ -1,6 +1,4 @@ # -*- mode: conf; -*- [MESSAGES CONTROL] -disable= - fixme, - too-many-branches, +disable=fixme diff --git a/src/wuttjamaican/conf.py b/src/wuttjamaican/conf.py index b30a274..d30f90c 100644 --- a/src/wuttjamaican/conf.py +++ b/src/wuttjamaican/conf.py @@ -884,28 +884,7 @@ def get_config_paths( # pylint: disable=too-many-arguments,too-many-positional- # first identify any "primary" config files if files is None: - if not env_files_name: - env_files_name = f"{appname.upper()}_CONFIG_FILES" - - files = env.get(env_files_name) - if files is not None: - files = files.split(os.pathsep) - - elif default_files: - if callable(default_files): - files = default_files(appname) or [] - elif isinstance(default_files, str): - files = [default_files] - else: - files = list(default_files) - files = [path for path in files if os.path.exists(path)] - - else: - files = [] - for path in generic_default_files(appname): - if os.path.exists(path): - files.append(path) - + files = _get_primary_config_files(appname, env, env_files_name, default_files) elif isinstance(files, str): files = [files] else: @@ -937,18 +916,47 @@ def get_config_paths( # pylint: disable=too-many-arguments,too-many-positional- # which config file as part of the actual service definition in # windows, so the service name is used for magic lookup here. if winsvc: - config = configparser.ConfigParser() - config.read(files) - section = f"{appname}.config" - if config.has_section(section): - option = f"winsvc.{winsvc}" - if config.has_option(section, option): - # replace file paths with whatever config value says - files = parse_list(config.get(section, option)) + files = _get_winsvc_config_files(appname, winsvc, files) return files +def _get_primary_config_files(appname, env, env_files_name, default_files): + if not env_files_name: + env_files_name = f"{appname.upper()}_CONFIG_FILES" + + files = env.get(env_files_name) + if files is not None: + return files.split(os.pathsep) + + if default_files: + if callable(default_files): + files = default_files(appname) or [] + elif isinstance(default_files, str): + files = [default_files] + else: + files = list(default_files) + return [path for path in files if os.path.exists(path)] + + files = [] + for path in generic_default_files(appname): + if os.path.exists(path): + files.append(path) + return files + + +def _get_winsvc_config_files(appname, winsvc, files): + config = configparser.ConfigParser() + config.read(files) + section = f"{appname}.config" + if config.has_section(section): + option = f"winsvc.{winsvc}" + if config.has_option(section, option): + # replace file paths with whatever config value says + files = parse_list(config.get(section, option)) + return files + + def make_config( # pylint: disable=too-many-arguments,too-many-positional-arguments,too-many-locals files=None, plus_files=None,