action: Create and use a different Logger for each action.
[matthijs/projects/backupninja.git] / src / lib / backupninja / config.py
index 0720f0aa05e36f6c38824728de1d86bee957ca41..5f1b283094a8f27641ab327a622163650ef58e26 100644 (file)
@@ -28,6 +28,15 @@ default_global_config = {}
 
 import logging as log
 
+class ConfigError(Exception):
+    """
+    An exception thrown when something is wrong with the config.
+    This is not thrown by the config module, but it is meant to be
+    thrown by handlers when they find something wrong with the
+    configuration contents.
+    """
+    pass
+
 def get_global_config(opts):
     """
     Returns the global configuration, in a SafeConfigParser object.
@@ -89,4 +98,7 @@ def _set_default_config(parser, values):
         if not parser.has_section(section):
             parser.add_section(section)
         for option, value in options.items():
-            parser.set(section, option, value)
+            # Interpret None as "no default", since ConfigParser doesn't
+            # like non-string values.
+            if not value is None:
+                parser.set(section, option, value)