summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Bobov <abobov@gmail.com>2016-08-07 13:39:58 +0500
committerAnton Bobov <abobov@gmail.com>2016-08-07 13:40:43 +0500
commit822b8c6815393136a7127f512b2a7f46883ab89b (patch)
tree88135b748ae40580eb4e04972bd9594f4be6403b
parent9765c72b6b37565df29af38757773ce5810d6d05 (diff)
Script replace full path by single files name.
-rwxr-xr-xufraw-fix-filenames.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/ufraw-fix-filenames.py b/ufraw-fix-filenames.py
new file mode 100755
index 0000000..1a65c64
--- /dev/null
+++ b/ufraw-fix-filenames.py
@@ -0,0 +1,40 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+from os import path
+from xml.etree import ElementTree as etree
+import argparse
+
+def update_text(tree, name, value=None, func=None):
+ e = tree.find(name)
+ if value is not None:
+ e.text = value
+ elif func is not None:
+ e.text = func(e.text)
+
+def update(fname, args):
+ tree = etree.parse(fname)
+ update_text(tree, 'InputFilename', func=path.basename)
+ update_text(tree, 'OutputFilename', func=path.basename)
+ if args.saturation is not None:
+ update_text(tree, 'Saturation', value=args.saturation)
+ tree.write(fname, encoding='utf-8', xml_declaration=True)
+
+def setup_parser():
+ parser = argparse.ArgumentParser(description='Remove path from input and output file names.')
+ parser.add_argument('--saturation', metavar='SAT',
+ help='Adjust the color saturation. Range 0.00 to 8.00. Default 1.0, use 0 for black & white output.')
+ parser.add_argument('files', metavar='FILES', nargs=argparse.REMAINDER,
+ help='Input UFRaw ID-files.')
+ return parser
+
+def main():
+ parser = setup_parser()
+ args = parser.parse_args()
+ if len(args.files) == 0:
+ parser.print_help()
+ for f in filter(path.isfile, args.files):
+ update(f, args)
+
+if __name__ == '__main__':
+ main()
+