skytools.Config: switch to turn off all default values
authorMarko Kreen <markokr@gmail.com>
Tue, 31 May 2011 08:11:13 +0000 (11:11 +0300)
committerMarko Kreen <markokr@gmail.com>
Tue, 31 May 2011 08:11:13 +0000 (11:11 +0300)
python/skytools/config.py

index 8336c456182f5ed79d6a3eed4c4b58922d34aeec..089f43fa660be973631b7cc8c60d8acfec9799c2 100644 (file)
@@ -13,7 +13,7 @@ class Config(object):
      - Acceps defaults in get() functions.
      - List value support.
     """
-    def __init__(self, main_section, filename, sane_config = 1, user_defs = {}, override = {}):
+    def __init__(self, main_section, filename, sane_config = 1, user_defs = {}, override = {}, ignore_defs = False):
         """Initialize Config and read from file.
 
         @param sane_config:  chooses between ConfigParser/SafeConfigParser.
@@ -25,12 +25,15 @@ class Config(object):
             job_name = main_section
 
         # initialize defaults, make them usable in config file
-        self.defs = {
-            'job_name': job_name,
-            'service_name': main_section,
-            'host_name': socket.gethostname(),
-        }
-        self.defs.update(user_defs)
+        if ignore_defs:
+            self.defs = {}
+        else:
+            self.defs = {
+                'job_name': job_name,
+                'service_name': main_section,
+                'host_name': socket.gethostname(),
+            }
+            self.defs.update(user_defs)
 
         self.main_section = main_section
         self.filename = filename