From deb27ebca9ae545642b9f597a861d3fd9287c165 Mon Sep 17 00:00:00 2001 From: 4am Date: Thu, 24 May 2018 09:58:39 -0400 Subject: [PATCH] command line changes --- passport.py | 54 +++++++++++++++++++++++++++------------------ passport/strings.py | 2 +- 2 files changed, 33 insertions(+), 23 deletions(-) diff --git a/passport.py b/passport.py index b8a07b8..be982f8 100755 --- a/passport.py +++ b/passport.py @@ -3,30 +3,40 @@ from passport import * import sys -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() +def usage(error_code): + exe = sys.argv[0] + print(STRINGS["header"]) + print("""usage: {exe} crack image.woz + {exe} verify image.woz + {exe} convert image.edd""".format(**locals())) + sys.exit(error_code) args = len(sys.argv) -if args < 2: - usage() +if args < 3: + usage(0) -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) +cmd, inputfile = sys.argv[1:3] +if cmd == "crack": + processor = Crack +elif cmd == "verify": + processor = Verify +elif cmd == "convert": + processor = EDDToWoz else: - raise RuntimeError("unrecognized file type") + print("unrecognized command") + usage(1) + +base, ext = os.path.splitext(inputfile) +ext = ext.lower() +if ext == ".woz": + reader = wozimage.WozReader +elif ext == ".edd": + reader = wozimage.EDDReader +else: + print("unrecognized file type") + usage(1) + +logger = DefaultLogger # TODO add flag to change this + +processor(reader(inputfile), logger) diff --git a/passport/strings.py b/passport/strings.py index 92c55fc..71ba8de 100644 --- a/passport/strings.py +++ b/passport/strings.py @@ -1,5 +1,5 @@ STRINGS = { - "header": "Passport.py by 4am (2018-05-21)\n", # max 32 characters + "header": "Passport.py by 4am (2018-05-24)\n", # max 32 characters "reading": "Reading from {filename}\n", "diskrwts": "Using disk's own RWTS\n", "bb00": "T00,S05 Found $BB00 protection check\n"