45 lines
1.6 KiB
Python
45 lines
1.6 KiB
Python
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.")
|
|
|