diff --git a/src/bmconfigparser.py b/src/bmconfigparser.py index 3a8d49f8..57640c74 100644 --- a/src/bmconfigparser.py +++ b/src/bmconfigparser.py @@ -74,11 +74,19 @@ class BMConfigParser(ConfigParser.SafeConfigParser): return self._temp[section][option] except KeyError: pass - return ConfigParser.ConfigParser.get( - self, section, option, raw=True, vars=vars, fallback=fallback) + try: + return ConfigParser.ConfigParser.get( + self, section, option, raw=True, vars=vars, fallback=fallback) + except TypeError: + return ConfigParser.ConfigParser.get( + self, section, option, raw=True, vars=vars) except ConfigParser.InterpolationError: - return ConfigParser.ConfigParser.get( - self, section, option, raw=True, vars=vars, fallback=fallback) + try: + return ConfigParser.ConfigParser.get( + self, section, option, raw=True, vars=vars, fallback=fallback) + except TypeError: + return ConfigParser.ConfigParser.get( + self, section, option, raw=True, vars=vars) except (ConfigParser.NoSectionError, ConfigParser.NoOptionError) as e: try: return BMConfigDefaults[section][option]