Files @ d72018278450
Branch filter:

Location: Morevna/src/morevna.py

Laman
nicer program entry point
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)