From: David Stainton Date: Thu, 18 Jun 2015 17:31:28 +0000 (-0700) Subject: Use Daira's fix to unblock CLI progress X-Git-Url: https://git.rkrishnan.org/components/com_hotproperty//%22%3C?a=commitdiff_plain;h=2eeb70b3cc9ffcbe135a197cf962ac1d24fa2861;p=tahoe-lafs%2Ftahoe-lafs.git Use Daira's fix to unblock CLI progress --- diff --git a/src/allmydata/scripts/common.py b/src/allmydata/scripts/common.py index d6246fc0..666176d7 100644 --- a/src/allmydata/scripts/common.py +++ b/src/allmydata/scripts/common.py @@ -57,9 +57,14 @@ class BasedirOptions(BaseOptions): ] def parseArgs(self, basedir=None): - if self.parent['node-directory'] and self['basedir']: + # This finds the node-directory option correctly even if we are in a subcommand. + root = self.parent + while root.parent is not None: + root = root.parent + + if root['node-directory'] and self['basedir']: raise usage.UsageError("The --node-directory (or -d) and --basedir (or -C) options cannot both be used.") - if self.parent['node-directory'] and basedir: + if root['node-directory'] and basedir: raise usage.UsageError("The --node-directory (or -d) option and a basedir argument cannot both be used.") if self['basedir'] and basedir: raise usage.UsageError("The --basedir (or -C) option and a basedir argument cannot both be used.") @@ -68,8 +73,8 @@ class BasedirOptions(BaseOptions): b = argv_to_abspath(basedir) elif self['basedir']: b = argv_to_abspath(self['basedir']) - elif self.parent['node-directory']: - b = argv_to_abspath(self.parent['node-directory']) + elif root['node-directory']: + b = argv_to_abspath(root['node-directory']) elif self.default_nodedir: b = self.default_nodedir else: