summaryrefslogtreecommitdiff
path: root/doc/merge.py
diff options
context:
space:
mode:
Diffstat (limited to 'doc/merge.py')
-rwxr-xr-xdoc/merge.py42
1 files changed, 42 insertions, 0 deletions
diff --git a/doc/merge.py b/doc/merge.py
new file mode 100755
index 0000000..a95c7a2
--- /dev/null
+++ b/doc/merge.py
@@ -0,0 +1,42 @@
+#!/usr/bin/env python
+
+import os
+import sys
+import getopt
+import json
+
+outfile = "merged.json"
+
+try:
+ opts, args = getopt.getopt(sys.argv[1:], "o:")
+
+except getopt.GetoptError as err:
+ print str(err) # will print something like "option -a not recognized"
+ sys.exit(2)
+for o, a in opts:
+ if o == "-o":
+ outfile = a
+
+merged = dict()
+for f in args:
+ if not os.path.exists(f):
+ print "WARN: %s does not exist", f
+
+ fp = open(f, "r")
+ d = json.load(fp)
+ fp.close()
+
+ for key in d:
+ print key,
+ if merged.has_key(key):
+ print "WARNING: merged already has key", key
+ merged[key].update(d[key])
+ else:
+ merged[key] = d[key]
+
+ print merged
+ print
+
+fp = open(outfile, "w")
+json.dump(merged, fp, indent=4, sort_keys=True)
+fp.close()