From c3be28e52053ff434f9525432c2d221f46e08d76 Mon Sep 17 00:00:00 2001 From: powe97 <116031952+powe97@users.noreply.github.com> Date: Sat, 16 Mar 2024 01:14:58 -0400 Subject: [PATCH] Add JSON converter from by-institution to by-course --- transfer_scraper/convert_json.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 transfer_scraper/convert_json.py diff --git a/transfer_scraper/convert_json.py b/transfer_scraper/convert_json.py new file mode 100644 index 0000000..703cc78 --- /dev/null +++ b/transfer_scraper/convert_json.py @@ -0,0 +1,24 @@ +import json +import sys +import collections + +def main(): + if len(sys.argv) != 3: + print(f"USAGE: python {sys.argv[0]} ", file=sys.stderr) + return 1 + with open(sys.argv[1], "r") as scraper_json: + by_institution = json.load(scraper_json) + + by_rpi_course = collections.defaultdict(list) + for inst in by_institution: + for xfer in inst["transfers"]: + for rpi_course in xfer["rpi"]["courses"]: + for a in ["institution", "city", "state"]: + xfer[a] = inst[a] + by_rpi_course[rpi_course["id"]].append(xfer) + + with open(sys.argv[2], "w") as out_json: + json.dump(by_rpi_course, out_json, sort_keys=True, indent=2) + +if __name__ == "__main__": + exit(main())