From e6d2b9a7bcfc9cffc2d8965f06c336360d31b2a1 Mon Sep 17 00:00:00 2001 From: Marcus Stoegbauer Date: Sat, 30 Mar 2024 21:42:06 +0100 Subject: [PATCH] typo in exception handling for get, NoSectionError will be caught as well; initialise ConfigParser in __init__, not in class --- userconfig/cfgfile.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/userconfig/cfgfile.py b/userconfig/cfgfile.py index db95c76..0ad573d 100644 --- a/userconfig/cfgfile.py +++ b/userconfig/cfgfile.py @@ -4,13 +4,14 @@ import sys class Conf(object): - _confobj = configparser.ConfigParser(dict(HOME=os.environ.get('HOME'))) + _confobj = None _cfgfiles = [] debug = None def __init__(self, filename=None, debug=None, force_filename=False): if debug: self.set_debug(debug) + self._confobj = configparser.ConfigParser(dict(HOME=os.environ.get('HOME'))) filenames = [] if not force_filename: # default config files are $HOME/etc/userconfig2.conf and @@ -44,7 +45,7 @@ class Conf(object): return self._confobj.getboolean(section, option) else: return self._confobj.get(section, option) - except (configparser.NoOptionError, configparser.NoOptionError) as e: + except (configparser.NoOptionError, configparser.NoSectionError) as e: raise ValueError(f'Option {option} does not exist in section {section}: {e}') def set(self, option, value, section='userconfig'):