diff --git a/src/morevna.py b/src/morevna.py new file mode 100644 --- /dev/null +++ b/src/morevna.py @@ -0,0 +1,46 @@ +import sys +import os.path +from argparse import ArgumentParser + +from hashtree import HashTree + + +def buildTree(args): + if not os.path.isfile(args.datafile): + print("invalid file specified:",args.datafile,file=sys.stderr) + return + tree=HashTree.fromFile(args.datafile) + tree.save(args.treefile) + +def update(args): + print("ready to update") + print(args) + +def serve(args): + print("ready to serve") + print(args) + +parser=ArgumentParser() +subparsers=parser.add_subparsers() + +pRebuild=subparsers.add_parser("build") +pRebuild.add_argument("treefile",help="stored hash tree location") +pRebuild.add_argument("datafile") +pRebuild.set_defaults(func=buildTree) + +pUpdate=subparsers.add_parser("update") +pUpdate.add_argument("-p","--port",type=int) +pUpdate.add_argument("--host",default="127.0.0.1") +pUpdate.add_argument("-t","--tree",help="stored hash tree location") +pUpdate.add_argument("datafile") +pUpdate.set_defaults(func=update) + +pServe=subparsers.add_parser("serve") +pServe.add_argument("-p","--port",type=int) +pServe.add_argument("--host",default="") +pServe.add_argument("-t","--tree",help="stored hash tree location") +pServe.add_argument("datafile") +pServe.set_defaults(func=serve) + +args=parser.parse_args() +args.func(args)