mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2025-01-01 18:56:41 +00:00
Find the node-directory option correctly even if we are in a subcommand.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
parent
1f7069e622
commit
56bf458355
@ -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,13 +73,14 @@ 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:
|
||||
raise usage.UsageError("No default basedir available, you must provide one with --node-directory, --basedir, or a basedir argument")
|
||||
self['basedir'] = b
|
||||
self['node-directory'] = b
|
||||
|
||||
def postOptions(self):
|
||||
if not self['basedir']:
|
||||
|
Loading…
Reference in New Issue
Block a user