3 from twisted.python import usage
8 ["quiet", "q", "Operate silently."],
9 ["version", "V", "Display version numbers and exit."],
12 def opt_version(self):
14 print allmydata.get_package_versions_string()
20 ["multiple", "m", "allow multiple basedirs to be specified at once"],
23 def postOptions(self):
25 raise usage.UsageError("<basedir> parameter is required")
28 self['basedirs'] = [os.path.abspath(os.path.expanduser(b))
29 for b in self.basedirs]
31 def parseArgs(self, *args):
34 self.basedirs.append(self['basedir'])
36 self.basedirs.extend(args)
38 if len(args) == 0 and not self.basedirs:
39 if sys.platform == 'win32':
40 from allmydata.windows import registry
41 self.basedirs.append(registry.get_base_dir_path())
43 self.basedirs.append(os.path.expanduser("~/.tahoe"))
45 self.basedirs.append(args[0])
47 raise usage.UsageError("I wasn't expecting so many arguments")
49 class NoDefaultBasedirMixin(BasedirMixin):
50 def parseArgs(self, *args):
51 # create-client won't default to --basedir=~/.tahoe
54 self.basedirs.append(self['basedir'])
56 self.basedirs.extend(args)
59 self.basedirs.append(args[0])
61 raise usage.UsageError("I wasn't expecting so many arguments")
63 raise usage.UsageError("--basedir must be provided")