Browse Source

Add comparison logic to merge-db

Kirk Trombley 2 years ago
parent
commit
5a40209bcd
1 changed files with 14 additions and 0 deletions
  1. 14 0
      tools/merge-db.py

+ 14 - 0
tools/merge-db.py

@@ -1,4 +1,5 @@
 import json
+import sys
 from argparse import ArgumentParser
 from pathlib import Path
 
@@ -17,6 +18,9 @@ parser = ArgumentParser(
   prog="DB Merger",
   description="Merge database files",
 )
+parser.add_argument(
+  "-c", "--compare", action="store_true", help="Just do a DB comparison"
+)
 parser.add_argument(
   "-d", "--pokedex", help="Pokedex file"
 )
@@ -27,6 +31,16 @@ parser.add_argument("sources", metavar="file", type=Path, nargs="+")
 
 args = parser.parse_args()
 
+if args.compare:
+  left, right = [set(read(s).keys()) for s in args.sources]
+  print("Right Missing")
+  for d in sorted(left - right):
+    print(" ", d)
+  print("Left Missing")
+  for d in sorted(right - left):
+    print(" ", d)
+  sys.exit(0)
+
 db = {}
 for s in args.sources:
   db.update(read(s))