source file: /home/buildslave/tahoe/edgy/build/src/allmydata/scripts/keygen.py
file stats: 22 lines, 8 executed: 36.4% covered
   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 client 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(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. 
  44. subCommands = [
  45.     ["create-key-generator", None, CreateKeyGeneratorOptions, "Create a key generator service."],
  46. ]
  47. 
  48. dispatch = {
  49.     "create-key-generator": create_key_generator,
  50.     }
  51.