62 lines
2 KiB
Python
62 lines
2 KiB
Python
import json
|
|
|
|
with open(f"./scripts/grouvee.json", "r", encoding="utf-8") as log_file:
|
|
orig_log_items = json.load(log_file)
|
|
|
|
for log in ["log", "current", "wishlist"]:
|
|
print(f"Processing {log}…")
|
|
|
|
with open(f"./data/games/{log}.json", "r", encoding="utf-8") as log_file:
|
|
log_items = json.load(log_file)
|
|
|
|
for i, item in enumerate(log_items):
|
|
print(f"Processing {item['Title']}...")
|
|
|
|
if "GiantBomb ID" in item:
|
|
orig_item = [""]
|
|
if "" != item["GiantBomb ID"]:
|
|
orig_item = [
|
|
orig_item
|
|
for orig_item in orig_log_items
|
|
if orig_item["giantbomb_id"] == int(item["GiantBomb ID"])
|
|
]
|
|
|
|
elif "" == item["GiantBomb ID"]:
|
|
orig_item = [
|
|
orig_item
|
|
for orig_item in orig_log_items
|
|
if orig_item["name"] == item["Title"]
|
|
]
|
|
|
|
if [] == orig_item:
|
|
print(f"No item {item['Title']} found in original log!")
|
|
log_items[i] = item
|
|
break
|
|
|
|
elif 1 < len(orig_item):
|
|
raise Exception(f"Multiple items returned for {item['Title']}!")
|
|
|
|
else:
|
|
orig_item = orig_item[0]
|
|
|
|
if "Wish List" in orig_item["shelves"]:
|
|
item["date_added"] = orig_item["shelves"]["Wish List"]["date_added"]
|
|
|
|
elif "Backlog" in orig_item["shelves"]:
|
|
item["date_added"] = orig_item["shelves"]["Backlog"]["date_added"]
|
|
|
|
elif "Played" in orig_item["shelves"] and "log" == log:
|
|
item["date_added"] = orig_item["shelves"]["Played"]["date_added"]
|
|
|
|
else:
|
|
print(f"No date_added for {item['Title']}!")
|
|
|
|
log_items[i] = item
|
|
|
|
print(f"Finished processing {item['Title']}.")
|
|
|
|
with open(f"./data/games/{log}.json", "w", encoding="utf-8") as log_file:
|
|
json.dump(log_items, log_file, indent=4)
|
|
|
|
print(f"Finished processing {log}.")
|