From 57d0ab465098674f44a7f51a6feef7f188f228ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kjist=C3=B3f?= Date: Wed, 23 Aug 2017 23:16:50 +0200 Subject: [PATCH] Add --dryrun and --funky modes. closes #4, closes #5 --- normalisename.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/normalisename.py b/normalisename.py index e232cd2..4bf1ea0 100755 --- a/normalisename.py +++ b/normalisename.py @@ -61,6 +61,11 @@ if __name__ == '__main__': help='Specify a special character to disallow (it will removed).') parser.add_argument('--whitelist', '-w', type=str, help='Overwrite default whitelist (format: whitespace separated string).') + mgroup = parser.add_mutually_exclusive_group() + mgroup.add_argument('--dryrun', '-n', action='store_true', + help='Do not touch anything, just tell me what would change!') + mgroup.add_argument('--funky', '-f', action='store_true', + help='List filenames with special characters') parser.add_argument('files', type=str, nargs='+', help='File(s) to normalise the name of (relative or absolute path).') args = parser.parse_args() @@ -78,5 +83,13 @@ if __name__ == '__main__': if args.allow: whitelist = whitelist.union(set(args.allow)) if args.disallow: whitelist = whitelist.difference(set(args.disallow)) + # define operations + listchanges = lambda a, b: print('{}{} --> {}'.format(a, ' '*(60-len(a)), b)) + listfunky = lambda a, b: print(b) - normalisename(rename, args.separator, whitelist).normalise(args.files) + operation = rename + if args.dryrun: operation = listchanges + elif args.funky: operation = listfunky + + + normalisename(operation, args.separator, whitelist).normalise(args.files)