Package fcp :: Module invertkey
[hide private]
[frames] | no frames]

Source Code for Module fcp.invertkey

 1  #@+leo-ver=4 
 2  #@+node:@file invertkey.py 
 3  """ 
 4  invert an SSK/USK private key to its public equivalent 
 5   
 6  This is the guts of the command-line front-end app fcpinvertkey 
 7  """ 
 8   
 9  #@+others 
10  #@+node:imports 
11  import argparse 
12  import sys 
13  import traceback 
14   
15  from . import node 
16  from .arguments import add_default_arguments 
17   
18  #@-node:imports 
19  #@+node:create_parser 
20 -def create_parser():
21 ''' 22 Creates an argparse parser. 23 ''' 24 parser = argparse.ArgumentParser( 25 prog='fcpinvertkey', 26 description='Convert a freenet SSK/USK private URI into its public equivalent.' 27 ) 28 add_default_arguments(parser) 29 30 parser.add_argument( 31 'uri', 32 nargs='?', 33 help=''' 34 A freenet SSK/USK private URI 35 ''', 36 ) 37 38 return parser
39 40 #@-node:create_parser 41 #@+node:main
42 -def main():
43 """ 44 Front end for fcpget utility 45 """ 46 # default job options 47 verbosity = node.ERROR 48 verbose = False 49 50 parser = create_parser() 51 args = parser.parse_args() 52 53 # try to create the node 54 try: 55 n = node.FCPNode(host=args.fcphost, port=args.fcpport, verbosity=verbosity, 56 logfile=sys.stderr) 57 except: 58 if verbose: 59 traceback.print_exc(file=sys.stderr) 60 sys.stderr.write("Failed to connect to FCP service at %s:%s\n" % (args.fcphost, args.fcpport)) 61 62 # determine the uri 63 if not args.uri: 64 args.uri = raw_input('Enter a URI: ') 65 66 uri = args.uri.strip() 67 68 # do the invert 69 uriPub = n.invertprivate(args.uri) 70 71 n.shutdown() 72 73 # successful, return the uri 74 sys.stdout.write(uriPub) 75 sys.stdout.flush() 76 77 # all done 78 sys.exit(0)
79 80 #@-node:main 81 #@-others 82 83 #@-node:@file invertkey.py 84 #@-leo 85