summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2013-02-12 07:50:01 -0500
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2013-02-12 08:35:32 -0500
commit96628400ced3b6dfc1ef35692f5e5a3ca388749a (patch)
tree768f85edde1c8b2558ee537e13d6b533e34cf3de /src
parentee0911a6183f4d367719804e695039051851ef3f (diff)
downloadbcfg2-96628400ced3b6dfc1ef35692f5e5a3ca388749a.tar.gz
bcfg2-96628400ced3b6dfc1ef35692f5e5a3ca388749a.tar.bz2
bcfg2-96628400ced3b6dfc1ef35692f5e5a3ca388749a.zip
fixed some option parsing bugs
Diffstat (limited to 'src')
-rw-r--r--src/lib/Bcfg2/Options.py18
-rw-r--r--src/lib/Bcfg2/Server/Admin/Xcmd.py2
2 files changed, 11 insertions, 9 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 """
diff --git a/src/lib/Bcfg2/Server/Admin/Xcmd.py b/src/lib/Bcfg2/Server/Admin/Xcmd.py
index 13077c7ad..6f411c2e4 100644
--- a/src/lib/Bcfg2/Server/Admin/Xcmd.py
+++ b/src/lib/Bcfg2/Server/Admin/Xcmd.py
@@ -36,7 +36,7 @@ class Xcmd(Bcfg2.Server.Admin.Mode):
return
cmd = args[0]
try:
- data = getattr(proxy, cmd)(*setup['args'])
+ data = getattr(proxy, cmd)(*args[1:])
except xmlrpclib.Fault:
flt = sys.exc_info()[1]
if flt.faultCode == 7: