import codecs
from twisted.python import usage
from allmydata.util.assertutil import precondition
-from allmydata.util.encodingutil import unicode_to_url, quote_output, argv_to_abspath
-from allmydata.util.fileutil import abspath_expanduser_unicode
-
-
-_default_nodedir = None
-if sys.platform == 'win32':
- from allmydata.windows import registry
- path = registry.get_base_dir_path()
- if path:
- precondition(isinstance(path, unicode), path)
- _default_nodedir = abspath_expanduser_unicode(path)
-
-if _default_nodedir is None:
- path = abspath_expanduser_unicode(u"~/.tahoe")
- precondition(isinstance(path, unicode), path)
- _default_nodedir = path
+from allmydata.util.encodingutil import unicode_to_url, quote_output, \
+ quote_local_unicode_path, argv_to_abspath
+from allmydata.scripts.default_nodedir import _default_nodedir
def get_default_nodedir():
return _default_nodedir
optParameters = [
["basedir", "C", None, "Specify which Tahoe base directory should be used. [default: %s]"
- % get_default_nodedir()],
+ % quote_local_unicode_path(_default_nodedir)],
]
def parseArgs(self, basedir=None):
return uri.from_string_dirnode(aliases[alias]).to_string(), path[colon+1:]
def escape_path(path):
+ # this always returns bytes, specifically US-ASCII, valid URL characters
segments = path.split("/")
return "/".join([urllib.quote(unicode_to_url(s)) for s in segments])