Compare commits

..

No commits in common. "b5bbe3ae089639a56dd61904eefc3fafb88b62fb" and "c8089672983cb2dd7c0d78f1822f9f4ad9d1ea6e" have entirely different histories.

8 changed files with 123964 additions and 51846 deletions

2
.gitignore vendored
View file

@ -6,5 +6,5 @@ node_modules/
public/ public/
logs/ logs/
.env .env
venv/ catalogue_venv/
scripts/caching/ scripts/caching/

View file

@ -1,7 +0,0 @@
---
title: Maeve
date: 2024-06-02
---
'I have the right not to know what I'm doing. I've the right to that space at least.'
--- Maeve

View file

@ -1,78 +1,4 @@
[ [
{
"description": {
"type": "/type/text",
"value": "\"Most of us have been educated from birth to compete, judge, demand, and diagnose--to think and communicate in terms of what is 'right' and 'wrong' with people. At best, communicating and thinking this way can create misunderstanding and frustration. At its worst, it can lead to anger, depression, and even emotional or physical violence. [This book] uses stories, role-plays, and real-world examples to introduce the Nonviolent Communication (NVC) process. Far more than simple techniques, you'll learn to transform the thinking, language, and moralistic judgments that prevent the quality of relationships you've always wanted. Start to more easily resolve conflicts, get what you want without demands, hear the needs of others, strengthen your personal and professional relationships, and live your fullest potential. With Nonviolent Communication, you'll learn to: significantly improve your relationships with family, friends, and co-workers; stay peaceful in the face of judgment, criticism, and anger; speak, think, and listen in ways that inspire compassion and understanding; break patterns of thinking that lead to stress, depression, guilt, and shame; discover common ground with anyone, anytime, anywhere.\"--Book cover."
},
"full_title": "Nonviolent communication a language of life",
"authors": [
{
"id": "OL243612A",
"name": "Marshall B. Rosenberg"
}
],
"subtitle": "a language of life",
"subjects": [
"Interpersonal communication",
"Interpersonal relations",
"Nonviolence"
],
"languages": [
"eng"
],
"title": "Nonviolent communication",
"number_of_pages": 244,
"isbn_13": "9781892005281",
"edition_name": "3rd edition.",
"isbn_10": "189200528X",
"publish_date": "2015",
"publish_country": "cau",
"by_statement": "Marshall B. Rosenberg, PhD",
"covers": [
12673460
],
"publishers": [
"PuddleDancer Press"
],
"work": {
"id": "OL2018966W",
"title": "Nonviolent Communication",
"first_publish_date": "1999",
"subjects": [
"Nonviolence",
"Psychological aspects of Communication",
"Family & Relationships",
"Self-Improvement",
"Communication",
"Interpersonal relations",
"Interpersonal communication",
"Nonfiction",
"Psychological aspects",
"Relations humaines",
"Communication interpersonnelle",
"Conflict resolution",
"Communication Barriers",
"Interpersonal Relations",
"Conflict management",
"Non-violence",
"Aspect psychologique",
"Gestion des conflits",
"PSYCHOLOGY",
"Cognitive Psychology",
"SCIENCE",
"Cognitive Science",
"Icke-v\u00e5ld",
"Kommunikationssociologi",
"Psychological aspects of communication",
"Family & relationships",
"Self-improvement"
]
},
"id": "OL27210498M",
"date_added": "2019-11-09",
"date_started": "2024-02-13",
"added_by_id": "9781892005281"
},
{ {
"publishers": [ "publishers": [
"O'Reilly Media" "O'Reilly Media"
@ -112,10 +38,111 @@
] ]
}, },
"id": "OL26780701M", "id": "OL26780701M",
"date_added": "2021-06-26", "date_added": "2024-01-17",
"date_started": "2024-01-17", "date_started": "2024-01-17",
"added_by_id": "9781449373320" "added_by_id": "9781449373320"
}, },
{
"title": "Goodbye to all that",
"authors": [
{
"id": "OL1097266A",
"name": "Robert Graves",
"personal_name": "Graves, Robert"
}
],
"publish_date": "1960",
"publishers": [
"Penguin"
],
"series": [
"Penguin twentieth century classics"
],
"subjects": [
"Graves, Robert, -- 1895-1985."
],
"languages": [
"eng"
],
"edition_name": "Rev. ed. / with a new prologue and epilogue.",
"isbn_10": "0140180982",
"publish_country": "xxk",
"by_statement": "Robert Graves.",
"number_of_pages": 282,
"covers": [
13074261
],
"work": {
"id": "OL5036954W",
"title": "Good-Bye to All That",
"subjects": [
"Biography",
"British Personal narratives",
"English Authors",
"English Personal narratives",
"European War, 1914-1918",
"Personal narratives",
"World War, 1914-1918",
"World War (1914-1918) fast (OCoLC)fst01180746",
"Biograf\ufffdia",
"Social conditions",
"Autores ingleses",
"Novela inglesa",
"BIOGRAPHY & AUTOBIOGRAPHY",
"World war, 1914-1918, personal narratives",
"Authors, biography",
"Authors, english",
"Fiction, general"
]
},
"id": "OL18237727M",
"published_in": [
"Harmondsworth"
],
"date_added": "2024-02-03"
},
{
"title": "The End of Policing",
"publishers": [
"Verso Books"
],
"publish_date": "October 2017",
"isbn_13": "9781784782900",
"languages": [
"eng"
],
"physical_format": "Ebook",
"work": {
"id": "OL19735566W",
"title": "The End of Policing",
"subjects": [
"Police",
"Police misconduct",
"black lives matter",
"Police-community relations",
"Police brutality",
"African Americans",
"Violence against",
"Social conditions",
"Discrimination in criminal justice administration",
"Race relations",
"POLITICAL SCIENCE",
"Political Freedom & Security",
"Law Enforcement",
"SOCIAL SCIENCE",
"Discrimination & Race Relations",
"Public Policy",
"General",
"BUSINESS & ECONOMICS",
"Infrastructure",
"POLITICAL SCIENCE / Political Freedom & Security / Law Enforcement",
"SOCIAL SCIENCE / Discrimination & Race Relations",
"POLITICAL SCIENCE / Public Policy / General"
]
},
"id": "OL50982392M",
"date_added": "2024-02-03"
},
{ {
"title": "France", "title": "France",
"publishers": [ "publishers": [
@ -204,8 +231,7 @@
] ]
}, },
"id": "OL50982390M", "id": "OL50982390M",
"date_added": "2024-01-02", "date_added": "2024-02-03"
"date_started": "2023-12-25"
}, },
{ {
"edition_name": "1st Basic paperback.", "edition_name": "1st Basic paperback.",

View file

@ -1,111 +1,4 @@
[ [
{
"title": "The End of Policing",
"publishers": [
"Verso Books"
],
"publish_date": "October 2017",
"isbn_13": "9781784782900",
"languages": [
"eng"
],
"physical_format": "Ebook",
"work": {
"id": "OL19735566W",
"title": "The End of Policing",
"subjects": [
"Police",
"Police misconduct",
"black lives matter",
"Police-community relations",
"Police brutality",
"African Americans",
"Violence against",
"Social conditions",
"Discrimination in criminal justice administration",
"Race relations",
"POLITICAL SCIENCE",
"Political Freedom & Security",
"Law Enforcement",
"SOCIAL SCIENCE",
"Discrimination & Race Relations",
"Public Policy",
"General",
"BUSINESS & ECONOMICS",
"Infrastructure",
"POLITICAL SCIENCE / Political Freedom & Security / Law Enforcement",
"SOCIAL SCIENCE / Discrimination & Race Relations",
"POLITICAL SCIENCE / Public Policy / General"
]
},
"id": "OL50982392M",
"date_added": "2020-06-05",
"date_started": "2024-01-02",
"date_finished": "2024-02-14",
"read_count": 1
},
{
"title": "Goodbye to all that",
"authors": [
{
"id": "OL1097266A",
"name": "Robert Graves",
"personal_name": "Graves, Robert"
}
],
"publish_date": "1960",
"publishers": [
"Penguin"
],
"series": [
"Penguin twentieth century classics"
],
"subjects": [
"Graves, Robert, -- 1895-1985."
],
"languages": [
"eng"
],
"edition_name": "Rev. ed. / with a new prologue and epilogue.",
"isbn_10": "0140180982",
"publish_country": "xxk",
"by_statement": "Robert Graves.",
"number_of_pages": 282,
"covers": [
13074261
],
"work": {
"id": "OL5036954W",
"title": "Good-Bye to All That",
"subjects": [
"Biography",
"British Personal narratives",
"English Authors",
"English Personal narratives",
"European War, 1914-1918",
"Personal narratives",
"World War, 1914-1918",
"World War (1914-1918) fast (OCoLC)fst01180746",
"Biograf\ufffdia",
"Social conditions",
"Autores ingleses",
"Novela inglesa",
"BIOGRAPHY & AUTOBIOGRAPHY",
"World war, 1914-1918, personal narratives",
"Authors, biography",
"Authors, english",
"Fiction, general"
]
},
"id": "OL18237727M",
"published_in": [
"Harmondsworth"
],
"date_added": "2013-05-07",
"date_started": "2024-01-01",
"date_finished": "2024-02-08",
"read_count": 1
},
{ {
"Title": "The Eighteenth Brumaire of Louis Bonaparte", "Title": "The Eighteenth Brumaire of Louis Bonaparte",
"Author": "Karl Marx", "Author": "Karl Marx",
@ -356,7 +249,7 @@
] ]
}, },
"id": "OL8777455M", "id": "OL8777455M",
"date_added": "2013-05-08", "date_added": "2023-05-12",
"date_started": "2023-05-11", "date_started": "2023-05-11",
"date_finished": "2023-12-12", "date_finished": "2023-12-12",
"read_count": 1 "read_count": 1

File diff suppressed because it is too large Load diff

View file

@ -1,45 +1,4 @@
[ [
{
"belongs_to_collection": null,
"genres": [
{
"id": 35,
"name": "Comedy"
},
{
"id": 18,
"name": "Drama"
},
{
"id": 10402,
"name": "Music"
},
{
"id": 10749,
"name": "Romance"
}
],
"id": 653664,
"imdb_id": "tt9058654",
"overview": "An on-the-lam punk rocker and a young woman obsessed with his band go on an unexpected and epic journey together through the decaying suburbs of the American Midwest.",
"poster_path": "/7hWgqev6waBi2v9XVC3oDN2ZR3l.jpg",
"production_countries": [
{
"iso_3166_1": "US",
"name": "United States of America"
}
],
"release_date": "2020-01-24",
"spoken_languages": [
{
"english_name": "English",
"iso_639_1": "en",
"name": "English"
}
],
"title": "Dinner in America",
"date_added": "2024-02-09"
},
{ {
"id": 93304, "id": 93304,
"title": "Alternative 3", "title": "Alternative 3",

View file

@ -1,292 +1,4 @@
[ [
{
"id": 182307,
"name": "Return to Spider-Skull Island",
"overview": "Dr. Venture finally learns the secret of his recurring womb nightmares when a stomach tumor turns out to be something far more sinister. In a fit of jealousy over their mistaken belief their father is pregnant, the boys run away from home.",
"air_date": "2004-10-30",
"episode_number": 13,
"season_number": 1,
"show_id": 2418,
"date_added": "2024-02-15",
"date_finished": "2024-02-13",
"added_by_id": "tt0739357"
},
{
"id": 182309,
"name": "The Trial of the Monarch",
"overview": "The Monarch is on trial for the one crime he may not have committed, under mysterious circumstances stemming from his bitter breakup with Dr. Girlfriend.",
"air_date": "2004-10-23",
"episode_number": 12,
"season_number": 1,
"show_id": 2418,
"date_added": "2024-02-15",
"date_finished": "2024-02-13",
"added_by_id": "tt0739361"
},
{
"id": 182308,
"name": "Past Tense",
"overview": "When Brock and Dr. Venture are kidnapped from the funeral of a college friend, the boys enlist the aid of the original Team Venture: a group of superscience adventurers who worked for their grandfather in the sixties.",
"air_date": "2004-10-16",
"episode_number": 11,
"season_number": 1,
"show_id": 2418,
"date_added": "2024-02-15",
"date_finished": "2024-02-13",
"added_by_id": "tt0739356"
},
{
"id": 182301,
"name": "Tag-Sale: You're It!",
"overview": "Always short on cash, Dr. Venture decides to unload some of his father's old scientific equipment in a huge yard sale that attracts fellow scientists and super-villains alike.",
"air_date": "2004-10-09",
"episode_number": 10,
"season_number": 1,
"show_id": 2418,
"date_added": "2024-02-14",
"date_finished": "2024-02-13",
"added_by_id": "tt0739358"
},
{
"id": 182302,
"name": "Are You There, God? It's Me, Dean",
"overview": "the monarch finally has the venture family right where he wants them hanging upside down above the amazon river! but his victory is postponed when dean suffers a strange but fairly common injury, acute testicular tortion.",
"air_date": "2004-10-02",
"episode_number": 9,
"season_number": 1,
"show_id": 2418,
"date_added": "2024-02-14",
"date_finished": "2024-02-13",
"added_by_id": "tt0739348"
},
{
"id": 182298,
"name": "Mid-Life Chrysalis",
"overview": "The Monarch sends Dr. Girlfriend undercover to seduce Dr. Venture in order to inject him with a body-altering serum.",
"air_date": "2004-09-25",
"episode_number": 8,
"season_number": 1,
"show_id": 2418,
"date_added": "2024-02-14",
"date_finished": "2024-02-13",
"added_by_id": "tt0739355"
},
{
"id": 182306,
"name": "Ice Station Impossible!",
"overview": "Dr. Venture, Pete White and Master Billy Quizboy are invited to take part in a top secret government think tank run by supergenius Professor Impossible.",
"air_date": "2004-09-18",
"episode_number": 7,
"season_number": 1,
"show_id": 2418,
"date_added": "2024-02-14",
"date_finished": "2024-02-12",
"added_by_id": "tt0739354"
},
{
"id": 182297,
"name": "Ghosts of the Sargasso",
"overview": "On a scientific expedition in the Bermuda Triangle, Doc's experimental equipment awakens and possibly enrages the submerged ghost of Major Tom, a test pilot who crashed in an experimental aircraft designed by Doc's father.",
"air_date": "2004-09-11",
"episode_number": 6,
"season_number": 1,
"show_id": 2418,
"date_added": "2024-02-14",
"date_finished": "2024-02-12",
"added_by_id": "tt0739352"
},
{
"id": 182304,
"name": "Eeney, Meeney, Miney… Magic!",
"overview": "Dr. Venture's new experiment has the entire family interested--not to mention trapped inside! The Ventures' strange new neighbor, master of mysticism Dr. Orpheus, may be the only one who can help them escape.",
"air_date": "2004-09-04",
"episode_number": 5,
"season_number": 1,
"show_id": 2418,
"date_added": "2024-02-14",
"date_finished": "2024-02-12",
"added_by_id": "tt0739351"
},
{
"id": 182305,
"name": "The Incredible Mr. Brisby",
"overview": "Dr. Venture is offered a job by theme park owner and cartoon magnate Roy Brisby, who won't take no for an answer in his quest for worldwide entertainment dominance.",
"air_date": "2004-08-28",
"episode_number": 4,
"season_number": 1,
"show_id": 2418,
"date_added": "2024-02-14",
"date_finished": "2024-02-12",
"added_by_id": "tt0739359"
},
{
"id": 182303,
"name": "Home Insecurity",
"overview": "To protect the Venture compound while Brock is on his yearly mountain survival sabbatical, Dr. Venture builds a panic room and a robotic bodyguard, which are soon put to the test.",
"air_date": "2004-08-21",
"episode_number": 3,
"season_number": 1,
"show_id": 2418,
"date_added": "2024-02-14",
"date_finished": "2024-02-11",
"added_by_id": "tt0739353"
},
{
"id": 182299,
"name": "Careers in Science",
"overview": "The Venture family must travel to space to repair an orbiting space station that Dr. Venture's father built in the 1970s, but a mysterious space phantom could be haunting the station!",
"air_date": "2004-08-14",
"episode_number": 2,
"season_number": 1,
"show_id": 2418,
"date_added": "2024-02-14",
"date_finished": "2024-02-11",
"added_by_id": "tt0739349"
},
{
"id": 182300,
"name": "Dia de Los Dangerous!",
"overview": "When the Venture Family visits Tijuana for a lecture Dr. Venture is giving at the (community) University of Mexico, the dastardly Monarch weaves a cocoon of villainy that leaves the Venture brothers trapped in his clutches.",
"air_date": "2004-08-07",
"episode_number": 1,
"season_number": 1,
"show_id": 2418,
"date_added": "2024-02-14",
"date_finished": "2024-02-11",
"added_by_id": "tt0739350"
},
{
"id": 182295,
"name": "The Terrible Secret of Turtle Bay",
"overview": "Dr. Venture, his teen sons Hank and Dean and their bodyguard Brock head to New York City to unveil Dr Venture's new technology. They'll have to deal with mummies and crocodiles, a ninja and the Monarch who's hot on their trail.",
"air_date": "2003-02-16",
"episode_number": 1,
"season_number": 0,
"show_id": 2418,
"date_added": "2024-02-14",
"date_finished": "2024-02-11",
"added_by_id": "tt0739360"
},
{
"id": 4728173,
"name": "Perestroika",
"overview": "Tensions on Earth and Mars come to a head.",
"air_date": "2024-01-11",
"episode_number": 10,
"season_number": 4,
"show_id": 87917,
"date_added": "2024-02-10",
"date_finished": "2024-02-10",
"added_by_id": "tt28922925"
},
{
"id": 4728172,
"name": "Brazil",
"overview": "Things start to go awry just as an important mission approaches a critical juncture.",
"air_date": "2024-01-04",
"episode_number": 9,
"season_number": 4,
"show_id": 87917,
"date_added": "2024-02-10",
"date_finished": "2024-02-10",
"added_by_id": "tt28922924"
},
{
"id": 4728171,
"name": "Legacy",
"overview": "Plans are made with interplanetary ramifications. Ed begins working with an unexpected partner.",
"air_date": "2023-12-28",
"episode_number": 8,
"season_number": 4,
"show_id": 87917,
"date_added": "2024-02-10",
"date_finished": "2024-02-10",
"added_by_id": "tt28922921"
},
{
"id": 4728169,
"name": "Crossing the Line",
"overview": "A group on Mars takes drastic measures. Margo grapples with a new assignment.",
"air_date": "2023-12-21",
"episode_number": 7,
"season_number": 4,
"show_id": 87917,
"date_added": "2024-02-09",
"date_finished": "2024-02-09",
"added_by_id": "tt28922919"
},
{
"id": 4728168,
"name": "Leningrad",
"overview": "Unlikely partnerships are formed at a high-stakes international conference.",
"air_date": "2023-12-14",
"episode_number": 6,
"season_number": 4,
"show_id": 87917,
"date_added": "2024-02-09",
"date_finished": "2024-02-09",
"added_by_id": "tt28922917"
},
{
"id": 4728167,
"name": "Goldilocks",
"overview": "A discovery sends teams across Earth and Mars scrambling for answers.",
"air_date": "2023-12-07",
"episode_number": 5,
"season_number": 4,
"show_id": 87917,
"date_added": "2024-02-09",
"date_finished": "2024-02-09",
"added_by_id": "tt28922907"
},
{
"id": 4728166,
"name": "House Divided",
"overview": "An accident on Mars strains relationships, while Miles embarks on a risky venture.",
"air_date": "2023-11-30",
"episode_number": 4,
"season_number": 4,
"show_id": 87917,
"date_added": "2024-02-09",
"date_finished": "2024-02-09",
"added_by_id": "tt28922906"
},
{
"id": 4728165,
"name": "The Bear Hug",
"overview": "Miles tries to make ends meet. Margo finds herself pulled into a dangerous situation.",
"air_date": "2023-11-21",
"episode_number": 3,
"season_number": 4,
"show_id": 87917,
"date_added": "2024-02-08",
"date_finished": "2024-02-08",
"added_by_id": "tt28922904"
},
{
"id": 4728164,
"name": "Have a Nice Sol",
"overview": "New Helios employees arrive on Mars as NASA undergoes major changes.",
"air_date": "2023-11-16",
"episode_number": 2,
"season_number": 4,
"show_id": 87917,
"date_added": "2024-02-08",
"date_finished": "2024-02-08",
"added_by_id": "tt27172400"
},
{
"id": 4728162,
"name": "Glasnost",
"overview": "Eight years later, a new mission begins: Capture an asteroid. Aleida and Danielle are still haunted by events from the past.",
"air_date": "2023-11-09",
"episode_number": 1,
"season_number": 4,
"show_id": 87917,
"date_added": "2024-02-08",
"date_finished": "2024-02-08",
"added_by_id": "tt21351274"
},
{ {
"id": 949406, "id": 949406,
"name": "Take Care of Yourself.", "name": "Take Care of Yourself.",

View file

@ -124,10 +124,7 @@ def add_item_to_log(item_id, media_type, log) -> None:
logger.info(f"Processing {item_id}") logger.info(f"Processing {item_id}")
item = None item, log_to_delete = check_for_existing(item_id, media_type, log)
log_to_delete = None
if "tv-episodes" != media_type:
item, log_to_delete = check_for_existing(item_id, media_type, log)
if item is None: if item is None:
item = import_by_id(item_id, media_type) item = import_by_id(item_id, media_type)
@ -196,7 +193,7 @@ def import_by_id(import_id, media_type) -> dict:
return import_from_tmdb_by_id(import_id, media_type) return import_from_tmdb_by_id(import_id, media_type)
if media_type in ["tv-episodes"]: if media_type in ["tv-episodes"]:
return import_from_tmdb_by_imdb_id(import_id, media_type) return # import_from_tvdb_by_id(import_id, media_type)
if media_type in ["books"]: if media_type in ["books"]:
return import_from_openlibrary_by_id( return import_from_openlibrary_by_id(
@ -204,51 +201,8 @@ def import_by_id(import_id, media_type) -> dict:
) )
def import_from_tmdb_by_imdb_id(imdb_id, media_type) -> dict:
"""Retrieve a film, TV show or TV episode from TMDB using an IMDB ID"""
api_url = f"https://api.themoviedb.org/3/find/{imdb_id}"
# Sending API request
response = requests.get(
api_url,
headers={"Authorization": f"Bearer {TMDB_API_KEY}"},
params={"external_source": "imdb_id"},
timeout=15
)
# Process the response
if 200 == response.status_code:
logger.debug(response.status_code)
elif 429 == response.status_code:
time.sleep(2)
return import_from_tmdb_by_imdb_id(imdb_id, media_type)
else:
raise Exception(f"Error {response.status_code}: {response.text}")
key = ""
if "tv-episodes" == media_type:
key = "tv_episode_results"
elif "tv-series" == media_type:
key = "tv_results"
elif "films" == media_type:
key = "movie_results"
response_data = json.loads(response.text)[key][0]
if response_data == None:
raise Exception(f"Nothing found for IMDB ID {imdb_id}!")
# Modify the returned result to add additional data
return cleanup_result(response_data, media_type)
def import_from_tmdb_by_id(tmdb_id, media_type) -> dict: def import_from_tmdb_by_id(tmdb_id, media_type) -> dict:
"""Retrieve a film, TV show or TV episode from TMDB using an TMDB ID""" """Retrieve a film, TV show or TV episode from TMDB using an IMDB ID"""
if "tv-episodes" == media_type:
raise Exception("TV Episodes are TODO!")
api_path = "movie" if "films" == media_type else "tv" api_path = "movie" if "films" == media_type else "tv"
api_url = f"https://api.themoviedb.org/3/{api_path}/{tmdb_id}" api_url = f"https://api.themoviedb.org/3/{api_path}/{tmdb_id}"
@ -269,6 +223,9 @@ def import_from_tmdb_by_id(tmdb_id, media_type) -> dict:
else: else:
raise Exception(f"Error {response.status_code}: {response.text}") raise Exception(f"Error {response.status_code}: {response.text}")
if "tv-episodes" == media_type:
raise Exception("TV Episodes are TODO!")
response_data = json.loads(response.text) response_data = json.loads(response.text)
# Modify the returned result to add additional data # Modify the returned result to add additional data