예제 #1
0
import os, sys, urllib
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


def get_default_nodedir():
    return _default_nodedir


class BaseOptions(usage.Options):
    # unit tests can override these to point at StringIO instances
    stdin = sys.stdin
    stdout = sys.stdout
예제 #2
0
def logmsg(msg):
    logfilehandle.write("%s: %s\r\n" % (time.strftime('%Y%m%d_%H%M%S'), msg))
    logfilehandle.flush()


logmsg('service loaded')

#
# Now with some bootstrap util functions in place, let's try and init things:
try:
    from allmydata.util import pkgresutil  # override pkg_resources zip provider for py2exe deployment
    pkgresutil.install()  # this is done before nevow is imported

    logmsg('loading base dir')
    from allmydata.windows import registry
    basedir = registry.get_base_dir_path()
    logmsg("got base dir (%s)" % (basedir, ))
    if not basedir:
        regpth = "%s : %s " % (registry._AMD_KEY, registry._BDIR_KEY)
        raise RuntimeError('"%s" not set in registry' % (regpth, ))
    os.chdir(basedir)
    logmsg("chdir(%s)" % (basedir, ))
except:
    logmsg("exception")
    traceback.print_exc(None, logfilehandle)
    logfilehandle.flush()
    logfilehandle.close()
    raise


class Tahoe(win32serviceutil.ServiceFramework):
예제 #3
0
def get_basedir():
    if sys.platform == 'win32':
        from allmydata.windows import registry
        return registry.get_base_dir_path()
    else:
        return os.path.expanduser('~/.tahoe')