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, pycryptopp
15 print "Twisted version:", copyright.version
16 print "Foolscap version:", foolscap.__version__
17 print "zfec version:", zfec.__version__
18 print "allmydata version:", allmydata.__version__
19 print "pycryptopp version:", pycryptopp.__version__
25 ["multiple", "m", "allow multiple basedirs to be specified at once"],
28 def postOptions(self):
30 raise usage.UsageError("<basedir> parameter is required")
33 self['basedirs'] = [os.path.abspath(os.path.expanduser(b))
34 for b in self.basedirs]
36 def parseArgs(self, *args):
39 self.basedirs.append(self['basedir'])
41 self.basedirs.extend(args)
43 if len(args) == 0 and not self.basedirs:
44 self.basedirs.append(os.path.expanduser("~/.tahoe"))
46 self.basedirs.append(args[0])
48 raise usage.UsageError("I wasn't expecting so many arguments")
50 class NoDefaultBasedirMixin(BasedirMixin):
51 def parseArgs(self, *args):
52 # create-client won't default to --basedir=~/.tahoe
55 self.basedirs.append(self['basedir'])
57 self.basedirs.extend(args)
60 self.basedirs.append(args[0])
62 raise usage.UsageError("I wasn't expecting so many arguments")
64 raise usage.UsageError("--basedir must be provided")