From 22dec3534ecedb1f979cc5a62e6d9f0218e42dbc Mon Sep 17 00:00:00 2001 From: Fabio Erculiani Date: Sun, 22 Apr 2012 12:48:36 +0200 Subject: [PATCH] [bin] add test_dep_rewrite script (entropy dep_rewrites) --- bin/test_dep_rewrite | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100755 bin/test_dep_rewrite diff --git a/bin/test_dep_rewrite b/bin/test_dep_rewrite new file mode 100755 index 0000000..b8efb72 --- /dev/null +++ b/bin/test_dep_rewrite @@ -0,0 +1,41 @@ +#!/usr/bin/python +import sys +import re + + +if __name__ == "__main__": + args = sys.argv[1:] + if not args or len(args) < 3: + sys.stderr.write( + "%s " + " [ ...\n" % (sys.argv[0],)) + raise SystemExit(1) + + target, pattern, replaces = args[0], args[1], args[2:] + sys.stdout.write("Target: %s\n" % (target,)) + sys.stdout.write("Pattern: %s\n" % (pattern,)) + sys.stdout.write("Rewrites: %s\n" % (", ".join(replaces),)) + + if pattern.startswith("++"): + sys.stderr.write("You are just asking to add dep, meh!\n") + raise SystemExit(1) + + sys.stdout.write("\n") + + compiled_pattern = re.compile(pattern) + if not compiled_pattern.match(target): + sys.stderr.write("Error: Pattern does not match target dep\n") + raise SystemExit(1) + + exit_st = 0 + for replace in replaces: + new_target, number_of_subs = compiled_pattern.subn( + replace, target) + if number_of_subs: + sys.stdout.write("%s -> %s\n" % (target, new_target)) + else: + sys.stderr.write("Error, not replaced: %s -> %s\n" % ( + target, replace,)) + exit_st = 1 + + raise SystemExit(exit_st)