summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Options.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/Bcfg2/Options.py')
-rw-r--r--src/lib/Bcfg2/Options.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/lib/Bcfg2/Options.py b/src/lib/Bcfg2/Options.py
index 32c3c02e4..dfb062341 100644
--- a/src/lib/Bcfg2/Options.py
+++ b/src/lib/Bcfg2/Options.py
@@ -411,6 +411,11 @@ CLIENT_SYSTEM_ETC_PATH = Option('System etc path', cf=('APT', 'etc_path'),
LOGGING_FILE_PATH = Option('Set path of file log', default=None,
cmd='-o', odesc='<path>', cf=('logging', 'path'))
+# Plugin-specific options
+CFG_VALIDATION = Option('Run validation on Cfg files', default=True,
+ cf=('cfg', 'validation'), cmd='--cfg-validation',
+ long_arg=True, cook=get_bool)
+
class OptionParser(OptionSet):
"""
OptionParser bootstraps option parsing,
@@ -428,8 +433,13 @@ class OptionParser(OptionSet):
return
if event.code2str() == 'deleted':
return
- for key, opt in self.optinfo:
+ self.reparse()
+
+ def reparse(self):
+ for key, opt in self.optinfo.items():
self[key] = opt
+ if "args" not in self.optinfo:
+ del self['args']
self.parse(self.argv, self.do_getopt)
def parse(self, argv, do_getopt=True):