From ab0e6009775b031633f7f1af38dbd1157a673497 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Fri, 12 Sep 2014 17:53:27 +0200 Subject: [PATCH] Error if unknown sections are in the config. --- qutebrowser/app.py | 2 ++ qutebrowser/config/config.py | 13 ++++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/qutebrowser/app.py b/qutebrowser/app.py index 65d4be0cf..070c65d59 100644 --- a/qutebrowser/app.py +++ b/qutebrowser/app.py @@ -176,6 +176,8 @@ class Application(QApplication): self) except (configtypes.ValidationError, config.NoOptionError, + config.NoSectionError, + config.UnknownSectionError, config.InterpolationSyntaxError, configparser.InterpolationError, configparser.DuplicateSectionError, diff --git a/qutebrowser/config/config.py b/qutebrowser/config/config.py index 267177617..22bd27063 100644 --- a/qutebrowser/config/config.py +++ b/qutebrowser/config/config.py @@ -75,6 +75,13 @@ class InterpolationSyntaxError(ValueError): pass +class UnknownSectionError(Exception): + + """Exception raised when there was an unknwon section in the config.""" + + pass + + class ConfigManager(QObject): """Configuration manager for qutebrowser. @@ -203,7 +210,11 @@ class ConfigManager(QObject): Args: cp: The configparser instance to read the values from. """ - for sectname in self.sections.keys(): + for sectname in cp: + if sectname is not 'DEFAULT' and sectname not in self.sections: + raise UnknownSectionError("Unknown section '{}'!".format( + sectname)) + for sectname in self.sections: if sectname not in cp: continue for k, v in cp[sectname].items():