From 0c481f454f3fa5d66a4436a74e06a3ceb34152aa Mon Sep 17 00:00:00 2001 From: Ethan Dalool Date: Sun, 25 Oct 2020 20:13:59 -0700 Subject: [PATCH] Use argparse for inputrename. --- inputrename.py | 38 ++++++++++++++++++++++++++++++-------- 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/inputrename.py b/inputrename.py index 873acbb..ee97ff5 100644 --- a/inputrename.py +++ b/inputrename.py @@ -3,12 +3,34 @@ import sys from voussoirkit import winglob -keyword = sys.argv[1] -pattern = f'*{keyword}*' +import argparse +import sys -files = winglob.glob(pattern) -for file in files: - print(file) - this = input('>') - if this: - os.rename(file, file.replace(keyword, this)) +def inputrename_argparse(args): + pattern = f'*{args.keyword}*' + + files = winglob.glob(pattern) + prev = None + for file in files: + print(file) + this = input('> ') + if this == '' and prev is not None: + this = prev + if this: + os.rename(file, file.replace(args.keyword, this)) + prev = this + +def main(argv): + parser = argparse.ArgumentParser(description=__doc__) + + parser.add_argument('keyword') + parser.set_defaults(func=inputrename_argparse) + + args = parser.parse_args(argv) + return args.func(args) + +if __name__ == '__main__': + try: + raise SystemExit(main(sys.argv[1:])) + except KeyboardInterrupt: + raise SystemExit(1)