diff --git a/src/morevna.py b/src/morevna.py --- a/src/morevna.py +++ b/src/morevna.py @@ -3,22 +3,41 @@ import os.path from argparse import ArgumentParser from hashtree import HashTree +from client import Client +from server import Server + + +def _checkDatafile(datafile): + if not os.path.isfile(datafile): + print("invalid file specified:",args.datafile,file=sys.stderr) + sys.exit(1) def buildTree(args): - if not os.path.isfile(args.datafile): - print("invalid file specified:",args.datafile,file=sys.stderr) - return + _checkDatafile(args.datafile) + tree=HashTree.fromFile(args.datafile) tree.save(args.treefile) def update(args): - print("ready to update") - print(args) + _checkDatafile(args.datafile) + + c=Client(args.datafile) + blocksToTransfer=c.negotiate() + c.sendData(blocksToTransfer) def serve(args): - print("ready to serve") - print(args) + _checkDatafile(args.datafile) + + # debug copy default file + import shutil + origFilename=args.datafile + filename=origFilename+"_" + shutil.copyfile(origFilename,filename) + + s=Server(filename) + s.serve() + parser=ArgumentParser() subparsers=parser.add_subparsers()