summaryrefslogtreecommitdiff
path: root/ufraw-fix-filenames.py
diff options
context:
space:
mode:
Diffstat (limited to 'ufraw-fix-filenames.py')
-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()
+