import os.path, sys
from twisted.python import usage
+from allmydata.scripts.common import BaseOptions
-class OptionsMixin(usage.Options):
- optFlags = [
- ["quiet", "q", "Operate silently."],
- ["version", "V", "Display version numbers and exit."],
- ]
-
-class VDriveOptions(OptionsMixin):
+class VDriveOptions(BaseOptions, usage.Options):
optParameters = [
["vdrive", "d", "global",
"which virtual drive to use: 'global' or 'private'"],
def parseArgs(self, vdrive_filename=""):
self['vdrive_filename'] = vdrive_filename
+ longdesc = """List the contents of some portion of the virtual drive."""
+
class GetOptions(VDriveOptions):
def parseArgs(self, vdrive_filename, local_filename="-"):
self['vdrive_filename'] = vdrive_filename
-import os
+import os, sys
from twisted.python import usage
+class BaseOptions:
+ optFlags = [
+ ["quiet", "q", "Operate silently."],
+ ["version", "V", "Display version numbers and exit."],
+ ]
+
+ def opt_version(self):
+ from twisted import copyright
+ import allmydata, zfec, foolscap
+ print "Twisted version:", copyright.version
+ print "Foolscap version:", foolscap.__version__
+ print "zfec version:", zfec.__version__
+ print "allmydata version:", allmydata.__version__
+ sys.exit(0)
+
+
class BasedirMixin:
optFlags = [
["multiple", "m", "allow multiple basedirs to be specified at once"],
from cStringIO import StringIO
from twisted.python import usage
+from allmydata.scripts.common import BaseOptions
import debug, create_node, startstop_node, cli
-class Options(cli.OptionsMixin):
+class Options(BaseOptions, usage.Options):
synopsis = "Usage: allmydata <command> [command options]"
subCommands = []
subCommands += debug.subCommands
subCommands += cli.subCommands
- def opt_version(self):
- from twisted import copyright
- import allmydata, zfec, foolscap
- print "Twisted version:", copyright.version
- print "Foolscap version:", foolscap.__version__
- print "zfec version:", zfec.__version__
- print "allmydata version:", allmydata.__version__
- sys.exit(0)
-
def postOptions(self):
if not hasattr(self, 'subOptions'):
raise usage.UsageError("must specify a command")