source file: /home/buildslave/tahoe/edgy/build/src/allmydata/scripts/keygen.py
file stats: 23 lines, 23 executed: 100.0% covered
coverage versus previous test: 0 lines added, 0 lines removed
1.
2. import os, sys
3. from twisted.python import usage
4. #from allmydata.scripts.common import BasedirMixin, NoDefaultBasedirMixin
5.
6. class CreateKeyGeneratorOptions(usage.Options):
7. optParameters = [
8. ["basedir", "C", None, "which directory to create the key-generator in"],
9. ]
10.
11. keygen_tac = """
12. # -*- python -*-
13.
14. from allmydata import key_generator
15. from twisted.application import service
16.
17. k = key_generator.KeyGeneratorService(default_key_size=2048)
18. #k.key_generator.verbose = False
19. #k.key_generator.pool_size = 16
20. #k.key_generator.pool_refresh_delay = 6
21.
22. application = service.Application("allmydata_key_generator")
23. k.setServiceParent(application)
24. """
25.
26. def create_key_generator(config, out=sys.stdout, err=sys.stderr):
27. basedir = config['basedir']
28. if not basedir:
29. print >>err, "a basedir was not provided, please use --basedir or -C"
30. return -1
31. if os.path.exists(basedir):
32. if os.listdir(basedir):
33. print >>err, "The base directory \"%s\", which is \"%s\" is not empty." % (basedir, os.path.abspath(basedir))
34. print >>err, "To avoid clobbering anything, I am going to quit now."
35. print >>err, "Please use a different directory, or empty this one."
36. return -1
37. # we're willing to use an empty directory
38. else:
39. os.mkdir(basedir)
40. f = open(os.path.join(basedir, "tahoe-key-generator.tac"), "wb")
41. f.write(keygen_tac)
42. f.close()
43. return 0
44.
45. subCommands = [
46. ["create-key-generator", None, CreateKeyGeneratorOptions, "Create a key generator service."],
47. ]
48.
49. dispatch = {
50. "create-key-generator": create_key_generator,
51. }
52.