fix book log dates

This commit is contained in:
Ben Goldsworthy 2024-02-17 12:54:37 +00:00
parent f1499586df
commit 0a65f25b60
6 changed files with 12486 additions and 10743 deletions

View File

@ -7,7 +7,7 @@
"full_title": "Nonviolent communication a language of life",
"authors": [
{
"id": "OL243612A",
"ol_author_id": "OL243612A",
"name": "Marshall B. Rosenberg"
}
],
@ -35,7 +35,7 @@
"PuddleDancer Press"
],
"work": {
"id": "OL2018966W",
"ol_work_id": "OL2018966W",
"title": "Nonviolent Communication",
"first_publish_date": "1999",
"subjects": [
@ -68,7 +68,7 @@
"Self-improvement"
]
},
"id": "OL27210498M",
"ol_edition_id": "OL27210498M",
"date_added": "2019-11-09",
"date_started": "2024-02-13",
"added_by_id": "9781892005281"
@ -87,7 +87,7 @@
"publish_date": "Apr 02, 2017",
"authors": [
{
"id": "OL7477772A",
"ol_author_id": "OL7477772A",
"name": "Martin Kleppmann"
}
],
@ -95,7 +95,7 @@
"976434277"
],
"work": {
"id": "OL19293745W",
"ol_work_id": "OL19293745W",
"title": "Designing Data-Intensive Applications",
"subjects": [
"Development",
@ -111,7 +111,7 @@
"005.276"
]
},
"id": "OL26780701M",
"ol_edition_id": "OL26780701M",
"date_added": "2021-06-26",
"date_started": "2024-01-17",
"added_by_id": "9781449373320"
@ -191,7 +191,7 @@
],
"isbn_13": "9781788680523",
"work": {
"id": "OL15419603W",
"ol_work_id": "OL15419603W",
"title": "France",
"subjects": [
"Guidebooks",
@ -203,7 +203,7 @@
"Europe - France"
]
},
"id": "OL50982390M",
"ol_edition_id": "OL50982390M",
"date_added": "2024-01-02",
"date_started": "2023-12-25"
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -457,6 +457,9 @@ def cleanup_result(item, media_type) -> dict:
del item[field_name]
if media_type in ["films", "tv-series"]:
item["id"] = item["tmdb_id"]
del item["id"]
title_key = "name" if "tv-series" == media_type else "title"
if f"original_{title_key}" in item and "original_language" in item:
@ -467,7 +470,7 @@ def cleanup_result(item, media_type) -> dict:
del item[f"original_{title_key}"], item["original_language"]
if "books" == media_type:
_, _, item["id"] = item["key"].split("/")
_, _, item["ol_id"] = item["key"].split("/")
del item["key"]
for key in ["isbn_10", "isbn_13"]:

45
scripts/re-add_dates.py Normal file
View File

@ -0,0 +1,45 @@
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.")