mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2025-01-30 08:04:08 +00:00
59 lines
1.6 KiB
Python
59 lines
1.6 KiB
Python
|
|
import os
|
|
from twisted.python import usage
|
|
|
|
class CreateStatsGathererOptions(usage.Options):
|
|
optParameters = [
|
|
["basedir", "C", None, "which directory to create the stats-gatherer in"],
|
|
]
|
|
|
|
def parseArgs(self, basedir=None):
|
|
if basedir is not None:
|
|
assert self["basedir"] is None
|
|
self["basedir"] = basedir
|
|
|
|
|
|
stats_gatherer_tac = """
|
|
# -*- python -*-
|
|
|
|
from allmydata import stats
|
|
from twisted.application import service
|
|
|
|
verbose = True
|
|
g = stats.StatsGathererService(verbose=verbose)
|
|
|
|
application = service.Application('allmydata_stats_gatherer')
|
|
g.setServiceParent(application)
|
|
"""
|
|
|
|
def create_stats_gatherer(config):
|
|
out = config.stdout
|
|
err = config.stderr
|
|
basedir = config['basedir']
|
|
if not basedir:
|
|
print >>err, "a basedir was not provided, please use --basedir or -C"
|
|
return -1
|
|
if os.path.exists(basedir):
|
|
if os.listdir(basedir):
|
|
print >>err, "The base directory \"%s\", which is \"%s\" is not empty." % (basedir, os.path.abspath(basedir))
|
|
print >>err, "To avoid clobbering anything, I am going to quit now."
|
|
print >>err, "Please use a different directory, or empty this one."
|
|
return -1
|
|
# we're willing to use an empty directory
|
|
else:
|
|
os.mkdir(basedir)
|
|
f = open(os.path.join(basedir, "tahoe-stats-gatherer.tac"), "wb")
|
|
f.write(stats_gatherer_tac)
|
|
f.close()
|
|
return 0
|
|
|
|
subCommands = [
|
|
["create-stats-gatherer", None, CreateStatsGathererOptions, "Create a stats-gatherer service."],
|
|
]
|
|
|
|
dispatch = {
|
|
"create-stats-gatherer": create_stats_gatherer,
|
|
}
|
|
|
|
|