config: Some new options
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 9 Apr 2017 15:12:23 +0000 (16:12 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 9 Apr 2017 15:12:23 +0000 (16:12 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
hippotatlib/__init__.py

index e8a502f..64cc6e5 100644 (file)
@@ -562,11 +562,19 @@ def common_startup(process_cfg):
     need_defcfg = False
     readconfig(value)
 
+  def oc_extra_config(od,os, value, op):
+    readconfig(value)
+
   def read_defconfig():
     readconfig('/etc/hippotat/config.d', False)
     readconfig('/etc/hippotat/passwords.d', False)
     readconfig('/etc/hippotat/master.cfg',   False)
 
+  def oc_defconfig(od,os, value, op):
+    nonlocal need_defcfg
+    need_defcfg = False
+    read_defconfig(value)
+
   def dfs_less_detailed(dl):
     return [df for df in DBG.iterconstants() if df <= dl]
 
@@ -630,6 +638,18 @@ just `+': all DFLAGs.
                        action='callback',
                        callback= oc_config)
 
+  optparser.add_option('--extra-config',
+                       nargs=1,
+                       type='string',
+                       metavar='CONFIGFILE',
+                       dest='configfile',
+                       action='callback',
+                       callback= oc_extra_config)
+
+  optparser.add_option('--default-config',
+                       action='callback',
+                       callback= oc_defconfig)
+
   (opts, args) = optparser.parse_args()
   if len(args): optparser.error('no non-option arguments please')