3 from twisted.python import usage
8 ["quiet", "q", "Operate silently."],
9 ["version", "V", "Display version numbers and exit."],
12 def opt_version(self):
13 from twisted import copyright
14 import allmydata, zfec, foolscap
15 print "Twisted version:", copyright.version
16 print "Foolscap version:", foolscap.__version__
17 print "zfec version:", zfec.__version__
18 print "allmydata version:", allmydata.__version__
24 ["multiple", "m", "allow multiple basedirs to be specified at once"],
27 def postOptions(self):
29 raise usage.UsageError("<basedir> parameter is required")
32 self['basedirs'] = [os.path.abspath(os.path.expanduser(b))
33 for b in self.basedirs]
35 def parseArgs(self, *args):
38 self.basedirs.append(self['basedir'])
40 self.basedirs.extend(args)
42 if len(args) == 0 and not self.basedirs:
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")