mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2025-04-09 20:01:23 +00:00
Additional Unicode basedir changes for ticket798 branch.
This commit is contained in:
parent
d3a8ef762f
commit
02199db615
@ -1,7 +1,7 @@
|
||||
import os.path, re, sys, fnmatch
|
||||
from twisted.python import usage
|
||||
from allmydata.scripts.common import BaseOptions, get_aliases
|
||||
from allmydata.util.encodingutil import argv_to_unicode, argv_to_abspath, quote_output
|
||||
from allmydata.util.encodingutil import argv_to_unicode, argv_to_abspath
|
||||
|
||||
NODEURL_RE=re.compile("http(s?)://([^:]*)(:([1-9][0-9]*))?")
|
||||
|
||||
|
@ -39,30 +39,27 @@ class BasedirMixin:
|
||||
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")
|
||||
|
||||
@ -71,15 +68,12 @@ class NoDefaultBasedirMixin(BasedirMixin):
|
||||
# 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:
|
||||
|
@ -2,6 +2,8 @@
|
||||
import os, sys
|
||||
from twisted.python import usage
|
||||
from allmydata.scripts.common import BasedirMixin, NoDefaultBasedirMixin
|
||||
from allmydata.util.assertutil import precondition
|
||||
from allmydata.util.encodingutil import listdir_unicode, argv_to_unicode, quote_output
|
||||
import allmydata
|
||||
|
||||
class CreateClientOptions(BasedirMixin, usage.Options):
|
||||
|
@ -2,6 +2,7 @@
|
||||
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 = [
|
||||
@ -24,10 +25,10 @@ k.setServiceParent(application)
|
||||
"""
|
||||
|
||||
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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user