import json

with open("./data/books/log.json", "r", encoding="utf-8") as log_file:
    log_items = json.load(log_file)
with open("./data/books/log-preprocess.json", "r", encoding="utf-8") as log_file:
    old_log_items = json.load(log_file)[2:]

for i, item in enumerate(log_items[6:]):
    if "title" in item:
        title = item["title"]
    else:
        title = item["Title"]

    #print(f"Processing '{title}'...")

    for key in ["started", "finished", "added", "read"]:
        keyCap = key.capitalize()
        if (f"date_{key}" not in item and f"Date {keyCap}" not in item) or ( (f"date_{key}" in item and "" == item[f"date_{key}"]) or (f"Date {keyCap}" in item and "" == item[f"Date {keyCap}"])):
            if f"Date {keyCap}" in old_log_items[i]:
                if "" == old_log_items[i][f"Date {keyCap}"]:
                    print(
                        f"No date_{key} for {title}, and date in old log is empty"
                    )
                    item[f"date_{key}"] = None

                else:
                    print(
                        f"No date_{key} for {title}, taking date {old_log_items[i][f'Date {keyCap}']} from old log"
                    )
                    item[f"date_{key}"] = old_log_items[i][f"Date {keyCap}"]
            else:
                print(
                    f"No date_{key} for {title}, no value in old log either."
                )
                item[f"date_{key}"] = None

    log_items[i] = item

    #print(f"Finished processing {title}.")

with open(f"./data/books/log.json", "w", encoding="utf-8") as log_file:
    json.dump(log_items, log_file, indent=4)

print(f"Finished processing log.")

