From c4def496fc0de890a780767413411d6e16c66b2e Mon Sep 17 00:00:00 2001 From: Peter Ferrie Date: Wed, 23 May 2018 12:15:08 -0700 Subject: [PATCH] command-line options --- passport.py | 35 ++++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/passport.py b/passport.py index 2b72e13..b8a07b8 100755 --- a/passport.py +++ b/passport.py @@ -3,13 +3,30 @@ from passport import * import sys -def opener(filename): - base, ext = os.path.splitext(filename) - ext = ext.lower() - if ext == '.woz': - return wozimage.WozReader(filename) - if ext == '.edd': - return wozimage.EDDReader(filename) - raise RuntimeError("unrecognized file type") +def usage(): + print("usage: passport image.woz [Crack]\n" + " passport image.woz [Verify]\n" + " passport image.edd [Convert]\n" + " default is Crack if .woz specified, Convert if .edd is specified" + ) + sys.exit() -Crack(opener(sys.argv[1]), DefaultLogger) +args = len(sys.argv) + +if args < 2: + usage() + +base, ext = os.path.splitext(sys.argv[1]) +ext = ext.lower() + +if ext == ".woz": + if args == 2 or sys.argv[2].lower() == "crack": + Crack(wozimage.WozReader(sys.argv[1]), DefaultLogger) + elif sys.argv[2].lower() == "verify": + Verify(wozimage.WozReader(sys.argv[1]), DefaultLogger) + else: + usage() +elif ext == ".edd": + EDDToWoz(wozimage.EDDReader(sys.argv[1]), DefaultLogger) +else: + raise RuntimeError("unrecognized file type")