raise usage.UsageError("<basedir> parameter is required")
if self['basedir']:
del self['basedir']
- self['basedirs'] = [os.path.abspath(os.path.expanduser(b)) for b in self.basedirs]
+ self['basedirs'] = self.basedirs
def parseArgs(self, *args):
self.basedirs = []
if self['basedir']:
- precondition(isinstance(self['basedir'], (str, unicode)), self['basedir'])
- self.basedirs.append(self['basedir'])
+ precondition(isinstance(self['basedir'], str), self['basedir'])
+ self.basedirs.append(argv_to_abspath(self['basedir']))
if self['multiple']:
- precondition(not [x for x in args if not isinstance(x, (str, unicode))], args)
- self.basedirs.extend(args)
+ self.basedirs.extend(map(argv_to_abspath, args))
else:
if len(args) == 0 and not self.basedirs:
if sys.platform == 'win32':
from allmydata.windows import registry
rbdp = registry.get_base_dir_path()
if rbdp:
- precondition(isinstance(registry.get_base_dir_path(), (str, unicode)), registry.get_base_dir_path())
+ precondition(isinstance(registry.get_base_dir_path(), unicode), registry.get_base_dir_path())
self.basedirs.append(rbdp)
else:
- precondition(isinstance(os.path.expanduser("~/.tahoe"), (str, unicode)), os.path.expanduser("~/.tahoe"))
- self.basedirs.append(os.path.expanduser("~/.tahoe"))
+ self.basedirs.append(abspath_expanduser_unicode(u"~/.tahoe"))
if len(args) > 0:
- precondition(isinstance(args[0], (str, unicode)), args[0])
- self.basedirs.append(args[0])
+ self.basedirs.append(argv_to_abspath(args[0]))
if len(args) > 1:
raise usage.UsageError("I wasn't expecting so many arguments")
# create-client won't default to --basedir=~/.tahoe
self.basedirs = []
if self['basedir']:
- precondition(isinstance(self['basedir'], (str, unicode)), self['basedir'])
- self.basedirs.append(self['basedir'])
+ self.basedirs.append(argv_to_abspath(self['basedir']))
if self['multiple']:
- precondition(not [x for x in args if not isinstance(x, (str, unicode))], args)
- self.basedirs.extend(args)
+ self.basedirs.extend(map(argv_to_abspath, args))
else:
if len(args) > 0:
- precondition(isinstance(args[0], (str, unicode)), args[0])
- self.basedirs.append(args[0])
+ self.basedirs.append(argv_to_abspath(args[0]))
if len(args) > 1:
raise usage.UsageError("I wasn't expecting so many arguments")
if not self.basedirs:
import os, sys
from twisted.python import usage
#from allmydata.scripts.common import BasedirMixin, NoDefaultBasedirMixin
+from allmydata.util.encodingutil import listdir_unicode, argv_to_abspath, quote_output
class CreateKeyGeneratorOptions(usage.Options):
optParameters = [
"""
def create_key_generator(config, out=sys.stdout, err=sys.stderr):
- basedir = config['basedir']
- if not basedir:
+ if not config['basedir']:
print >>err, "a basedir was not provided, please use --basedir or -C"
return -1
+ basedir = argv_to_abspath(config['basedir'])
if os.path.exists(basedir):
if listdir_unicode(basedir):
print >>err, "The base directory %s is not empty." % quote_output(basedir)