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.py18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/lib/Bcfg2/Options.py b/src/lib/Bcfg2/Options.py
index decb726d0..6289e3eae 100644
--- a/src/lib/Bcfg2/Options.py
+++ b/src/lib/Bcfg2/Options.py
@@ -1168,20 +1168,22 @@ class OptionParser(OptionSet):
def reparse(self, argv=None, do_getopt=None):
""" parse the options again, taking any changes (e.g., to the
config file) into account """
+ self.parse(argv=argv, do_getopt=do_getopt)
+
+ def parse(self, argv=None, do_getopt=None):
for key, opt in self.optinfo.items():
self[key] = opt
if "args" not in self.optinfo and "args" in self:
del self['args']
+ self.argv = argv or sys.argv[1:]
+ if self.do_getopt is None:
+ if do_getopt:
+ self.do_getopt = do_getopt
+ else:
+ self.do_getopt = True
if do_getopt is None:
do_getopt = self.do_getopt
- if argv is None:
- argv = self.argv
- self.parse(argv, do_getopt)
-
- def parse(self, argv=None, do_getopt=True):
- self.argv = argv or sys.argv[1:]
- self.do_getopt = do_getopt
- OptionSet.parse(self, self.argv, do_getopt=self.do_getopt)
+ OptionSet.parse(self, self.argv, do_getopt=do_getopt)
def add_option(self, name, opt):
""" Add an option to the parser """