3 from twisted.python import usage
4 #from allmydata.scripts.common import BasedirMixin, NoDefaultBasedirMixin
5 from allmydata.util.encodingutil import listdir_unicode, argv_to_abspath, quote_output
7 class CreateKeyGeneratorOptions(usage.Options):
9 ["basedir", "C", None, "which directory to create the key-generator in"],
15 from allmydata import key_generator
16 from twisted.application import service
18 k = key_generator.KeyGeneratorService(default_key_size=2048)
19 #k.key_generator.verbose = False
20 #k.key_generator.pool_size = 16
21 #k.key_generator.pool_refresh_delay = 6
23 application = service.Application("allmydata_key_generator")
24 k.setServiceParent(application)
27 def create_key_generator(config, out=sys.stdout, err=sys.stderr):
28 if not config['basedir']:
29 print >>err, "a basedir was not provided, please use --basedir or -C"
31 basedir = argv_to_abspath(config['basedir'])
32 if os.path.exists(basedir):
33 if listdir_unicode(basedir):
34 print >>err, "The base directory %s is not empty." % quote_output(basedir)
35 print >>err, "To avoid clobbering anything, I am going to quit now."
36 print >>err, "Please use a different directory, or empty this one."
38 # we're willing to use an empty directory
41 f = open(os.path.join(basedir, "tahoe-key-generator.tac"), "wb")
47 ["create-key-generator", None, CreateKeyGeneratorOptions, "Create a key generator service."],
51 "create-key-generator": create_key_generator,