Compare commits
2 commits
60e5229b47
...
3baaf67f51
Author | SHA1 | Date | |
---|---|---|---|
3baaf67f51 | |||
57a788e721 |
7 changed files with 446 additions and 112 deletions
|
@ -1,4 +1,29 @@
|
|||
[
|
||||
{
|
||||
"id": 613,
|
||||
"title": "Downfall",
|
||||
"original_language": "de",
|
||||
"original_title": "Der Untergang",
|
||||
"overview": "In April of 1945, Germany stands at the brink of defeat with the Russian Army closing in from the east and the Allied Expeditionary Force attacking from the west. In Berlin, capital of the Third Reich, Adolf Hitler proclaims that Germany will still achieve victory and orders his generals and advisers to fight to the last man. When the end finally does come, and Hitler lies dead by his own hand, what is left of his military must find a way to end the killing that is the Battle of Berlin, and lay down their arms in surrender.",
|
||||
"poster_path": "/cP1ElGjBhbZAAqmueXjHDKlSwiP.jpg",
|
||||
"release_date": "2004-09-16",
|
||||
"date_added": "2024-01-11",
|
||||
"date_watched": "2024-01-11",
|
||||
"is_rewatch": true,
|
||||
"comments": "Watched with French subtitles"
|
||||
},
|
||||
{
|
||||
"id": 774,
|
||||
"title": "Workers Leaving the Lumi\u00e8re Factory",
|
||||
"original_language": "fr",
|
||||
"original_title": "La Sortie de l'Usine Lumi\u00e8re \u00e0 Lyon",
|
||||
"overview": "Working men and women leave through the main gate of the Lumi\u00e8re factory in Lyon, France. Filmed on 22 March 1895, it is often referred to as the first real motion picture ever made, although Louis Le Prince's 1888 Roundhay Garden Scene pre-dated it by seven years. Three separate versions of this film exist, which differ from one another in numerous ways. The first version features a carriage drawn by one horse, while in the second version the carriage is drawn by two horses, and there is no carriage at all in the third version. The clothing style is also different between the three versions, demonstrating the different seasons in which each was filmed. This film was made in the 35 mm format with an aspect ratio of 1.33:1, and at a speed of 16 frames per second. At that rate, the 17 meters of film length provided a duration of 46 seconds, holding a total of 800 frames.",
|
||||
"poster_path": "/cT2sefAXgEoICJUCEM6UfxXfuDM.jpg",
|
||||
"release_date": "1895-03-22",
|
||||
"date_added": "2024-01-10",
|
||||
"date_watched": "2024-01-10",
|
||||
"comments": "Radical Approaches to Filmmaking course"
|
||||
},
|
||||
{
|
||||
"id": 172197,
|
||||
"title": "Finally Got the News",
|
||||
|
@ -15860,4 +15885,4 @@
|
|||
"date_watched": null,
|
||||
"is_rewatch": false
|
||||
}
|
||||
]
|
||||
]
|
|
@ -1,4 +1,12 @@
|
|||
[
|
||||
{
|
||||
"id": 786892,
|
||||
"title": "Furiosa: A Mad Max Saga",
|
||||
"overview": "As the world falls, young Furiosa is snatched from the Green Place of Many Mothers into the hands of a great biker horde led by the warlord Dementus. Sweeping through the wasteland, they encounter the citadel presided over by Immortan Joe. The two tyrants wage war for dominance, and Furiosa must survive many trials as she puts together the means to find her way home.",
|
||||
"poster_path": "/35ISL6KqEeaGfG3xagzUqwa6ijZ.jpg",
|
||||
"release_date": "2024-05-22",
|
||||
"date_added": "2024-01-11"
|
||||
},
|
||||
{
|
||||
"id": 4483,
|
||||
"title": "The Return of Martin Guerre",
|
||||
|
@ -26836,4 +26844,4 @@
|
|||
"title": "Meow Wolf: Origin Story",
|
||||
"date_added": "2022-07-27"
|
||||
}
|
||||
]
|
||||
]
|
|
@ -1,72 +1,9 @@
|
|||
[
|
||||
{
|
||||
"Show Title": "Nazis: A Warning from History"
|
||||
},
|
||||
{
|
||||
"Show Title": "All Watched Over By Machines of Loving Grace"
|
||||
},
|
||||
{
|
||||
"Show Title": "The Trap: What Happend to Our Dream of Freedom"
|
||||
},
|
||||
{
|
||||
"Show Title": "The Corner (2000"
|
||||
},
|
||||
{
|
||||
"Show Title": "When the Levees Broke: A Requiem in Four Acts (2006)"
|
||||
},
|
||||
{
|
||||
"Show Title": "The National Parks: America's Best Idea"
|
||||
},
|
||||
{
|
||||
"Show Title": "On Death Row"
|
||||
},
|
||||
{
|
||||
"Show Title": "Heimat"
|
||||
},
|
||||
{
|
||||
"Show Title": "Heimat II"
|
||||
},
|
||||
{
|
||||
"Show Title": "V (1983)"
|
||||
},
|
||||
{
|
||||
"Show Title": "V: The Final Battle"
|
||||
},
|
||||
{
|
||||
"Show Title": "Dunkirk (2004)"
|
||||
},
|
||||
{
|
||||
"Show Title": "Walking with Dinosaurs: The Ballad of Big Al"
|
||||
},
|
||||
{
|
||||
"Show Title": "Chased by Dinosaurs"
|
||||
},
|
||||
{
|
||||
"Show Title": "I Love Alaska"
|
||||
},
|
||||
{
|
||||
"Show Title": "Nerds 2.0.1: A Brief History of the Internet"
|
||||
},
|
||||
{
|
||||
"Show Title": "World on a Wire"
|
||||
},
|
||||
{
|
||||
"Show Title": "Prohibition (2011)"
|
||||
},
|
||||
{
|
||||
"Show Title": "The Dust Bowl"
|
||||
},
|
||||
{
|
||||
"Show Title": "The Story of Film: An Odyssey"
|
||||
},
|
||||
{
|
||||
"Show Title": "It (1990)"
|
||||
},
|
||||
{
|
||||
"Show Title": "Life with Judy Garland: Me and My Shadows"
|
||||
},
|
||||
{
|
||||
"Show Title": "BBS: The Documentary"
|
||||
},
|
||||
{
|
||||
"Show Title": "Louis Theroux: Miami Mega Jail"
|
||||
|
@ -86,9 +23,6 @@
|
|||
{
|
||||
"Show Title": "Once Upon a Time in Northern Ireland"
|
||||
},
|
||||
{
|
||||
"Show Title": "How To with John Wilson"
|
||||
},
|
||||
{
|
||||
"Show Title": "A Touch of Cloth"
|
||||
},
|
||||
|
|
291
data/tv/log.json
291
data/tv/log.json
|
@ -1,4 +1,213 @@
|
|||
[
|
||||
{
|
||||
"id": 949406,
|
||||
"name": "Take Care of Yourself.",
|
||||
"overview": "Instrumentality continues. The focus is primarily on Shinji now, as he learns to accept the individual\u2019s ability to shape their world, and how the self cannot exist without others to define it.",
|
||||
"air_date": "1996-03-27",
|
||||
"episode_number": 26,
|
||||
"season_number": 1,
|
||||
"show_id": 890,
|
||||
"date_added": "2024-01-12",
|
||||
"date_watched": "2024-01-12"
|
||||
},
|
||||
{
|
||||
"id": 949404,
|
||||
"name": "Do You Love Me?",
|
||||
"overview": "Instrumentality has begun, and now its inner process, the joining of all souls into one, will be depicted. The episode is primarily driven by dialogue, the background usually complete darkness. White text often appears on a black screen, an omniscient voice questioning the characters.",
|
||||
"air_date": "1996-03-20",
|
||||
"episode_number": 25,
|
||||
"season_number": 1,
|
||||
"show_id": 890,
|
||||
"date_added": "2024-01-12",
|
||||
"date_watched": "2024-01-12"
|
||||
},
|
||||
{
|
||||
"id": 949405,
|
||||
"name": "The Beginning and the End, or 'Knockin' on Heaven's Door'",
|
||||
"overview": "Too frightened to face Misato or Rei, Shinji runs away yet again, only to meet and strike a friendship with Kaworu Nagisa, the replacement pilot for EVA-02. Kaworu's openness and friendliness provide much-needed comfort for the disturbed Shinji. However, suspicions abound over Kaworu's incredible synchronization abilities.",
|
||||
"air_date": "1996-03-13",
|
||||
"episode_number": 24,
|
||||
"season_number": 1,
|
||||
"show_id": 890,
|
||||
"date_added": "2024-01-12",
|
||||
"date_watched": "2024-01-12"
|
||||
},
|
||||
{
|
||||
"id": 949403,
|
||||
"name": "Rei III",
|
||||
"overview": "Asuka sinks into deep depression after Arael's mental probing, and is unable to pilot when the new Angel Armisael arrives. Armisael begins physically fusing with EVA-00 and threatens to do the same to EVA-01, prompting Rei to sacrifice herself to save Shinji, only to appear alive soon afterwards.",
|
||||
"air_date": "1996-03-06",
|
||||
"episode_number": 23,
|
||||
"season_number": 1,
|
||||
"show_id": 890,
|
||||
"date_added": "2024-01-12",
|
||||
"date_watched": "2024-01-12"
|
||||
},
|
||||
{
|
||||
"id": 949402,
|
||||
"name": "Don't Be.",
|
||||
"overview": "Asuka's synch rate is on a downward spiral after her defeat at the hands of the Fourteenth Angel, Zeruel, and her frustration with Rei, Shinji, Misato and Ryouji is on the rise. Angrier and more disturbed than ever, she is forced to relive her dark, traumatic past during the encounter with the Fifteenth Angel, Arael.",
|
||||
"air_date": "1996-02-28",
|
||||
"episode_number": 22,
|
||||
"season_number": 1,
|
||||
"show_id": 890,
|
||||
"date_added": "2024-01-12",
|
||||
"date_watched": "2024-01-12"
|
||||
},
|
||||
{
|
||||
"id": 949401,
|
||||
"name": "He Was Aware that He Was Still a Child.",
|
||||
"overview": "Kouzou Fuyutsuki is kidnapped and interrogated by Seele, who are horrified over the results of the last encounter with an Angel. He recounts his past, providing flashbacks into the creation of Nerv. The pasts of Misato Katsuragi, Ritsuko Akagi, Rei Ayanami and Yui Ikari are also revealed. Ryouji Kaji, meanwhile, decides to find out the truth, no matter the cost.",
|
||||
"air_date": "1996-02-21",
|
||||
"episode_number": 21,
|
||||
"season_number": 1,
|
||||
"show_id": 890,
|
||||
"date_added": "2024-01-12",
|
||||
"date_watched": "2024-01-12"
|
||||
},
|
||||
{
|
||||
"id": 949400,
|
||||
"name": "Weaving A Story (2): Oral Stage",
|
||||
"overview": "Shinji achieved an unprecedented 400% synchronization ratio with EVA-01 during the battle with Zeruel, to horrible effect. With the EVA having ascended to the status of a living God and Shinji absorbed inside it, Ritsuko unsuccessfully attempts to recover him.",
|
||||
"air_date": "1996-02-14",
|
||||
"episode_number": 20,
|
||||
"season_number": 1,
|
||||
"show_id": 890,
|
||||
"date_added": "2024-01-12",
|
||||
"date_watched": "2024-01-12"
|
||||
},
|
||||
{
|
||||
"id": 949398,
|
||||
"name": "Introjection",
|
||||
"overview": "Enraged over Touji's near-death at the hands of his own EVA, Shinji refuses to pilot an Evangelion again and prepares to leave Tokyo-3 for good. He is forced to reconsider that decision when an immensely destructive new Angel attacks just as he is about to leave...",
|
||||
"air_date": "1996-02-07",
|
||||
"episode_number": 19,
|
||||
"season_number": 1,
|
||||
"show_id": 890,
|
||||
"date_added": "2024-01-12",
|
||||
"date_watched": "2024-01-12"
|
||||
},
|
||||
{
|
||||
"id": 949399,
|
||||
"name": "Ambivalence",
|
||||
"overview": "Evangelion Unit-03 arrives from the United States. However, its activation experiment brings out NERV's worst nightmare when it turns out to have been infected by the Thirteenth Angel. The other EVAs are dispatched to battle the Angel-infected abomination... even at the risk of killing its helpless pilot.",
|
||||
"air_date": "1996-01-31",
|
||||
"episode_number": 18,
|
||||
"season_number": 1,
|
||||
"show_id": 890,
|
||||
"date_added": "2024-01-12",
|
||||
"date_watched": "2024-01-12"
|
||||
},
|
||||
{
|
||||
"id": 949396,
|
||||
"name": "Fourth Children",
|
||||
"overview": "A NERV branch in Nevada is obliterated in a catastrophic accident, and NERV headquarters prepares to station a new Evangelion in Japan. The Fourth Child is selected, unbeknownst to Shinji.",
|
||||
"air_date": "1996-01-24",
|
||||
"episode_number": 17,
|
||||
"season_number": 1,
|
||||
"show_id": 890,
|
||||
"date_added": "2024-01-12",
|
||||
"date_watched": "2024-01-12"
|
||||
},
|
||||
{
|
||||
"id": 949394,
|
||||
"name": "Splitting of the Breast",
|
||||
"overview": "Shinji beats Asuka in a synch test, much to her annoyance. Not too long after, the EVAs are dispatched to deal with a mysterious apparition, and EVA-01 is sucked into a shadowlike blackness that materializes out of nothingness from under it. While an emergency operation to rescue the captured EVA is concocted, Shinji goes on a trip into the depths of his own consciousness...",
|
||||
"air_date": "1996-01-17",
|
||||
"episode_number": 16,
|
||||
"season_number": 1,
|
||||
"show_id": 890,
|
||||
"date_added": "2024-01-11",
|
||||
"date_watched": "2024-01-11"
|
||||
},
|
||||
{
|
||||
"id": 949395,
|
||||
"name": "Those Women Longed for the Touch of Others' Lips, and Thus Invited Their Kisses.",
|
||||
"overview": "It seems like it's an important day for nearly everyone at NERV. Misato and Ritsuko are going to a wedding; Shinji and Gendo are visiting Yui's grave; Asuka has a date. However, important things will spring from these seemingly mundane events.",
|
||||
"air_date": "1996-01-10",
|
||||
"episode_number": 15,
|
||||
"season_number": 1,
|
||||
"show_id": 890,
|
||||
"date_added": "2024-01-11",
|
||||
"date_watched": "2024-01-11"
|
||||
},
|
||||
{
|
||||
"id": 949397,
|
||||
"name": "Weaving A Story (1)",
|
||||
"overview": "In the first half of the episode, a clip show is presented to the Human Instrumentality Committee of Seele, reviewing the attacks of all Angels up to this point. The second part includes a poem in which Rei contemplates her own existence, and a cross-compatibility test between Rei's and Shinji's EVAs.",
|
||||
"air_date": "1996-01-03",
|
||||
"episode_number": 14,
|
||||
"season_number": 1,
|
||||
"show_id": 890,
|
||||
"date_added": "2024-01-11",
|
||||
"date_watched": "2024-01-11"
|
||||
},
|
||||
{
|
||||
"id": 949393,
|
||||
"name": "Lilliputian Hitcher",
|
||||
"overview": "A routine test involving the EVA pilots turns into a struggle for survival when a wholly new type of Angel appears and spreads inside NERV HQ. This new, computer-like angel threatens to set off the self-destruct for the entire facility, leaving Dr. Ritsuko Akagi in a race against time to save the GeoFront and destroy the Angel.",
|
||||
"air_date": "1995-12-27",
|
||||
"episode_number": 13,
|
||||
"season_number": 1,
|
||||
"show_id": 890,
|
||||
"date_added": "2024-01-11",
|
||||
"date_watched": "2024-01-11"
|
||||
},
|
||||
{
|
||||
"id": 949392,
|
||||
"name": "She said, 'Don't make others suffer for your personal hatred.'",
|
||||
"overview": "Misato has been promoted to Major, but the celebration does not last long. A monstrous Angel appears in Earth orbit right when Gendo and Fuyutsuki are away, leaving her and the children to deal with a colossal kamikaze threatening to drop itself right on top of Tokyo-3.",
|
||||
"air_date": "1995-12-20",
|
||||
"episode_number": 12,
|
||||
"season_number": 1,
|
||||
"show_id": 890,
|
||||
"date_added": "2024-01-10",
|
||||
"date_watched": "2024-01-10"
|
||||
},
|
||||
{
|
||||
"id": 949391,
|
||||
"name": "The Day Tokyo-3 Stood Still",
|
||||
"overview": "Tokyo-3 comes to a standstill when sabotage knocks out all power, and the personnel must scramble to launch the EVAs manually when an Angel appears in the middle of the blackout.",
|
||||
"air_date": "1995-12-13",
|
||||
"episode_number": 11,
|
||||
"season_number": 1,
|
||||
"show_id": 890,
|
||||
"date_added": "2024-01-10",
|
||||
"date_watched": "2024-01-10"
|
||||
},
|
||||
{
|
||||
"id": 949390,
|
||||
"name": "Magma Diver",
|
||||
"overview": "The EVA pilots are disappointed to find out that they are not allowed to go on their class trip to Okinawa, because they have to stay at Tokyo-3 to stay on-call in case of an Angel attack. Meanwhile, a new Angel is discovered in a chrysalis-like developmental stage deep within the magma of the volcano Mount Asama.",
|
||||
"air_date": "1995-12-06",
|
||||
"episode_number": 10,
|
||||
"season_number": 1,
|
||||
"show_id": 890,
|
||||
"date_added": "2024-01-10",
|
||||
"date_watched": "2024-01-10"
|
||||
},
|
||||
{
|
||||
"id": 949387,
|
||||
"name": "Both of You, Dance Like You Want to Win!",
|
||||
"overview": "Asuka joins Shinji\u2019s class at school, and moves in with Misato and him in their apartment. As Asuka adjusts to Japan (or rather, everyone else adapts to her...), a new Angel attacks which is capable of splitting itself into two identical copies. EVA-01 and EVA-02 are defeated, and NERV is publicly humiliated. With the Angel in a week-long regeneration period after an N\u00b2 Mine attack by the JSSDF, Asuka and Shinji must learn to \"synchronize\" with each others movements combat, in order to defeat it once and for all.",
|
||||
"air_date": "1995-11-29",
|
||||
"episode_number": 9,
|
||||
"season_number": 1,
|
||||
"show_id": 890,
|
||||
"date_added": "2024-01-10",
|
||||
"date_watched": "2024-01-10"
|
||||
},
|
||||
{
|
||||
"id": 949388,
|
||||
"name": "Asuka Strikes!",
|
||||
"overview": "Misato brings Shinji, along with Touji and Kensuke, to a massive UN naval convoy transporting Evangelion Unit-02 and its fiery German pilot, Asuka Langley Souryuu, to Japan. Escorting Asuka is Misato's old boyfriend, Ryouji Kaji. After some awkward introductions and reunions, the fleet is attacked by a massive aquatic Angel. Asuka powers up Eva-02, and decides that she will defeat the Angel by playing \"hopscotch\"...",
|
||||
"air_date": "1995-11-22",
|
||||
"episode_number": 8,
|
||||
"season_number": 1,
|
||||
"show_id": 890,
|
||||
"date_added": "2024-01-10",
|
||||
"date_watched": "2024-01-10"
|
||||
},
|
||||
{
|
||||
"Series Title": "Neon Genesis Evangelion",
|
||||
"Episode Title": "The Works of Man",
|
||||
|
@ -1053,28 +1262,28 @@
|
|||
},
|
||||
{
|
||||
"Series Title": "The Thick of It",
|
||||
"Episode Title": "Series 3 – Episode 1",
|
||||
"Episode Title": "Series 3 \u2013 Episode 1",
|
||||
"Episode Number": "3x01",
|
||||
"Rewatch": true,
|
||||
"Date Watched": "2023-08-30"
|
||||
},
|
||||
{
|
||||
"Series Title": "The Thick of It",
|
||||
"Episode Title": "Series 2 – Episode 3",
|
||||
"Episode Title": "Series 2 \u2013 Episode 3",
|
||||
"Episode Number": "2x03",
|
||||
"Rewatch": true,
|
||||
"Date Watched": "2023-08-30"
|
||||
},
|
||||
{
|
||||
"Series Title": "The Thick of It",
|
||||
"Episode Title": "Series 2 – Episode 2",
|
||||
"Episode Title": "Series 2 \u2013 Episode 2",
|
||||
"Episode Number": "2x02",
|
||||
"Rewatch": true,
|
||||
"Date Watched": "2023-08-30"
|
||||
},
|
||||
{
|
||||
"Series Title": "The Thick of It",
|
||||
"Episode Title": "Series 2 – Episode 1",
|
||||
"Episode Title": "Series 2 \u2013 Episode 1",
|
||||
"Episode Number": "2x01",
|
||||
"Rewatch": true,
|
||||
"Date Watched": "2023-08-30"
|
||||
|
@ -1436,7 +1645,7 @@
|
|||
},
|
||||
{
|
||||
"Series Title": "The Simpsons",
|
||||
"Episode Title": "Raging Abe Simpson and His Grumbling Grandson in ‘The Curse of the Flying Hellfish’",
|
||||
"Episode Title": "Raging Abe Simpson and His Grumbling Grandson in \u2018The Curse of the Flying Hellfish\u2019",
|
||||
"Episode Number": "7x22",
|
||||
"Date Watched": "2023-07-13"
|
||||
},
|
||||
|
@ -2168,7 +2377,7 @@
|
|||
},
|
||||
{
|
||||
"Series Title": "Ghost in the Shell: Stand Alone Complex",
|
||||
"Episode Title": "IN: Return to Patriotism; ENDLESS∞GIG",
|
||||
"Episode Title": "IN: Return to Patriotism; ENDLESS\u221eGIG",
|
||||
"Date Watched": "2023-02-07",
|
||||
"Episode Number": "2x26"
|
||||
},
|
||||
|
@ -2882,7 +3091,7 @@
|
|||
},
|
||||
{
|
||||
"Series Title": "Trainwreck: Woodstock '99",
|
||||
"Episode Title": "You Can’t Stop a Riot in the 90s",
|
||||
"Episode Title": "You Can\u2019t Stop a Riot in the 90s",
|
||||
"Date Watched": "2022-08-16",
|
||||
"Episode Number": "1x03"
|
||||
},
|
||||
|
@ -5330,13 +5539,13 @@
|
|||
},
|
||||
{
|
||||
"Series Title": "For All Mankind",
|
||||
"Episode Title": "And Here’s to You",
|
||||
"Episode Title": "And Here\u2019s to You",
|
||||
"Date Watched": "2021-05-11",
|
||||
"Episode Number": "2x08"
|
||||
},
|
||||
{
|
||||
"Series Title": "For All Mankind",
|
||||
"Episode Title": "Don’t Be Cruel",
|
||||
"Episode Title": "Don\u2019t Be Cruel",
|
||||
"Date Watched": "2021-05-11",
|
||||
"Episode Number": "2x07"
|
||||
},
|
||||
|
@ -5420,7 +5629,7 @@
|
|||
},
|
||||
{
|
||||
"Series Title": "For All Mankind",
|
||||
"Episode Title": "Nixon’s Women",
|
||||
"Episode Title": "Nixon\u2019s Women",
|
||||
"Date Watched": "2021-05-09",
|
||||
"Episode Number": "1x03"
|
||||
},
|
||||
|
@ -5438,25 +5647,25 @@
|
|||
},
|
||||
{
|
||||
"Series Title": "Ethos",
|
||||
"Episode Title": "8. Bölüm",
|
||||
"Episode Title": "8. B\u00f6l\u00fcm",
|
||||
"Date Watched": "2021-05-07",
|
||||
"Episode Number": "1x08"
|
||||
},
|
||||
{
|
||||
"Series Title": "Ethos",
|
||||
"Episode Title": "7. Bölüm",
|
||||
"Episode Title": "7. B\u00f6l\u00fcm",
|
||||
"Date Watched": "2021-05-07",
|
||||
"Episode Number": "1x07"
|
||||
},
|
||||
{
|
||||
"Series Title": "Ethos",
|
||||
"Episode Title": "6. Bölüm",
|
||||
"Episode Title": "6. B\u00f6l\u00fcm",
|
||||
"Date Watched": "2021-05-05",
|
||||
"Episode Number": "1x06"
|
||||
},
|
||||
{
|
||||
"Series Title": "Ethos",
|
||||
"Episode Title": "5. Bölüm",
|
||||
"Episode Title": "5. B\u00f6l\u00fcm",
|
||||
"Date Watched": "2021-05-05",
|
||||
"Episode Number": "1x05"
|
||||
},
|
||||
|
@ -5474,13 +5683,13 @@
|
|||
},
|
||||
{
|
||||
"Series Title": "Ethos",
|
||||
"Episode Title": "4. Bölüm",
|
||||
"Episode Title": "4. B\u00f6l\u00fcm",
|
||||
"Date Watched": "2021-05-02",
|
||||
"Episode Number": "1x04"
|
||||
},
|
||||
{
|
||||
"Series Title": "Ethos",
|
||||
"Episode Title": "3. Bölüm",
|
||||
"Episode Title": "3. B\u00f6l\u00fcm",
|
||||
"Date Watched": "2021-05-02",
|
||||
"Episode Number": "1x03"
|
||||
},
|
||||
|
@ -5576,13 +5785,13 @@
|
|||
},
|
||||
{
|
||||
"Series Title": "Ethos",
|
||||
"Episode Title": "2. Bölüm",
|
||||
"Episode Title": "2. B\u00f6l\u00fcm",
|
||||
"Date Watched": "2021-04-13",
|
||||
"Episode Number": "1x02"
|
||||
},
|
||||
{
|
||||
"Series Title": "Ethos",
|
||||
"Episode Title": "1. Bölüm",
|
||||
"Episode Title": "1. B\u00f6l\u00fcm",
|
||||
"Date Watched": "2021-04-13",
|
||||
"Episode Number": "1x01"
|
||||
},
|
||||
|
@ -5954,7 +6163,7 @@
|
|||
},
|
||||
{
|
||||
"Series Title": "Ghost in the Shell: Stand Alone Complex",
|
||||
"Episode Title": "Angels’ Share",
|
||||
"Episode Title": "Angels\u2019 Share",
|
||||
"Date Watched": "2021-02-14",
|
||||
"Episode Number": "1x17"
|
||||
},
|
||||
|
@ -5972,13 +6181,13 @@
|
|||
},
|
||||
{
|
||||
"Series Title": "Ghost in the Shell: Stand Alone Complex",
|
||||
"Episode Title": "Machines Désirantes",
|
||||
"Episode Title": "Machines D\u00e9sirantes",
|
||||
"Date Watched": "2021-02-12",
|
||||
"Episode Number": "1x15"
|
||||
},
|
||||
{
|
||||
"Series Title": "Ghost in the Shell: Stand Alone Complex",
|
||||
"Episode Title": "¥€$",
|
||||
"Episode Title": "\u00a5\u20ac$",
|
||||
"Date Watched": "2021-02-11",
|
||||
"Episode Number": "1x14"
|
||||
},
|
||||
|
@ -8216,7 +8425,7 @@
|
|||
},
|
||||
{
|
||||
"Series Title": "The Good Place",
|
||||
"Episode Title": "Don’t Let The Good Life Pass You By",
|
||||
"Episode Title": "Don\u2019t Let The Good Life Pass You By",
|
||||
"Date Watched": "2020-03-21",
|
||||
"Episode Number": "3x08"
|
||||
},
|
||||
|
@ -8390,7 +8599,7 @@
|
|||
},
|
||||
{
|
||||
"Series Title": "The Good Place",
|
||||
"Episode Title": "…Someone Like Me as a Member",
|
||||
"Episode Title": "\u2026Someone Like Me as a Member",
|
||||
"Date Watched": "2020-03-18",
|
||||
"Episode Number": "1x09"
|
||||
},
|
||||
|
@ -10231,7 +10440,7 @@
|
|||
"Episode Number": "1x01"
|
||||
},
|
||||
{
|
||||
"Series Title": "Enquête exclusive",
|
||||
"Series Title": "Enqu\u00eate exclusive",
|
||||
"Episode Title": "TBA",
|
||||
"Date Watched": "2019-03-14",
|
||||
"Episode Number": "2010x20101017"
|
||||
|
@ -11960,7 +12169,7 @@
|
|||
},
|
||||
{
|
||||
"Series Title": "Person of Interest",
|
||||
"Episode Title": "2πR",
|
||||
"Episode Title": "2\u03c0R",
|
||||
"Date Watched": "2018-07-17",
|
||||
"Episode Number": "2x11"
|
||||
},
|
||||
|
@ -13741,19 +13950,19 @@
|
|||
"Episode Number": "1x01"
|
||||
},
|
||||
{
|
||||
"Series Title": "Unsere Mütter, unsere Väter",
|
||||
"Series Title": "Unsere M\u00fctter, unsere V\u00e4ter",
|
||||
"Episode Title": "Een ander land",
|
||||
"Date Watched": "2017-09-05",
|
||||
"Episode Number": "1x03"
|
||||
},
|
||||
{
|
||||
"Series Title": "Unsere Mütter, unsere Väter",
|
||||
"Series Title": "Unsere M\u00fctter, unsere V\u00e4ter",
|
||||
"Episode Title": "Een andere oorlog",
|
||||
"Date Watched": "2017-09-04",
|
||||
"Episode Number": "1x02"
|
||||
},
|
||||
{
|
||||
"Series Title": "Unsere Mütter, unsere Väter",
|
||||
"Series Title": "Unsere M\u00fctter, unsere V\u00e4ter",
|
||||
"Episode Title": "Een andere tijd",
|
||||
"Date Watched": "2017-09-03",
|
||||
"Episode Number": "1x01"
|
||||
|
@ -14474,7 +14683,7 @@
|
|||
},
|
||||
{
|
||||
"Series Title": "Archer",
|
||||
"Episode Title": "Auflösung",
|
||||
"Episode Title": "Aufl\u00f6sung",
|
||||
"Date Watched": "2017-08-06",
|
||||
"Episode Number": "8x08"
|
||||
},
|
||||
|
@ -19862,7 +20071,7 @@
|
|||
},
|
||||
{
|
||||
"Series Title": "Les Revenants",
|
||||
"Episode Title": "Adèle",
|
||||
"Episode Title": "Ad\u00e8le",
|
||||
"Date Watched": "2014-07-04",
|
||||
"Episode Number": "1x07"
|
||||
},
|
||||
|
@ -21302,7 +21511,7 @@
|
|||
},
|
||||
{
|
||||
"Series Title": "Hannibal",
|
||||
"Episode Title": "Kō No Mono",
|
||||
"Episode Title": "K\u014d No Mono",
|
||||
"Date Watched": "2014-05-10",
|
||||
"Episode Number": "2x11"
|
||||
},
|
||||
|
@ -21536,7 +21745,7 @@
|
|||
},
|
||||
{
|
||||
"Series Title": "Boardwalk Empire",
|
||||
"Episode Title": "Erlkönig",
|
||||
"Episode Title": "Erlk\u00f6nig",
|
||||
"Date Watched": "2014-04-20",
|
||||
"Episode Number": "4x05"
|
||||
},
|
||||
|
@ -21854,7 +22063,7 @@
|
|||
},
|
||||
{
|
||||
"Series Title": "Hannibal",
|
||||
"Episode Title": "Mukōzuke",
|
||||
"Episode Title": "Muk\u014dzuke",
|
||||
"Date Watched": "2014-03-30",
|
||||
"Episode Number": "2x05"
|
||||
},
|
||||
|
@ -22934,13 +23143,13 @@
|
|||
},
|
||||
{
|
||||
"Series Title": "Hannibal",
|
||||
"Episode Title": "Relevés",
|
||||
"Episode Title": "Relev\u00e9s",
|
||||
"Date Watched": "2014-02-07",
|
||||
"Episode Number": "1x12"
|
||||
},
|
||||
{
|
||||
"Series Title": "Hannibal",
|
||||
"Episode Title": "Rôti",
|
||||
"Episode Title": "R\u00f4ti",
|
||||
"Date Watched": "2014-02-07",
|
||||
"Episode Number": "1x11"
|
||||
},
|
||||
|
@ -22982,7 +23191,7 @@
|
|||
},
|
||||
{
|
||||
"Series Title": "Hannibal",
|
||||
"Episode Title": "Entrée",
|
||||
"Episode Title": "Entr\u00e9e",
|
||||
"Date Watched": "2014-02-04",
|
||||
"Episode Number": "1x06"
|
||||
},
|
||||
|
@ -23000,7 +23209,7 @@
|
|||
},
|
||||
{
|
||||
"Series Title": "Hannibal",
|
||||
"Episode Title": "Œuf",
|
||||
"Episode Title": "\u0152uf",
|
||||
"Date Watched": "2014-02-03",
|
||||
"Episode Number": "1x04"
|
||||
},
|
||||
|
@ -23030,7 +23239,7 @@
|
|||
},
|
||||
{
|
||||
"Series Title": "Hannibal",
|
||||
"Episode Title": "Apéritif",
|
||||
"Episode Title": "Ap\u00e9ritif",
|
||||
"Date Watched": "2014-02-01",
|
||||
"Episode Number": "1x01"
|
||||
},
|
||||
|
@ -25040,7 +25249,7 @@
|
|||
},
|
||||
{
|
||||
"Series Title": "Arrested Development",
|
||||
"Episode Title": "Señoritis",
|
||||
"Episode Title": "Se\u00f1oritis",
|
||||
"Date Watched": "2013-08-13",
|
||||
"Episode Number": "4x12"
|
||||
},
|
||||
|
@ -25388,7 +25597,7 @@
|
|||
},
|
||||
{
|
||||
"Series Title": "Arrested Development",
|
||||
"Episode Title": "¡Amigos!",
|
||||
"Episode Title": "\u00a1Amigos!",
|
||||
"Date Watched": "2013-07-15",
|
||||
"Episode Number": "2x03"
|
||||
},
|
||||
|
@ -26028,4 +26237,4 @@
|
|||
"Date Watched": "2013-06-03",
|
||||
"Episode Number": "3x09"
|
||||
}
|
||||
]
|
||||
]
|
|
@ -1,4 +1,67 @@
|
|||
[
|
||||
{
|
||||
"Show Title": "The Corner"
|
||||
},
|
||||
{
|
||||
"Show Title": "When the Levees Broke: A Requiem in Four Acts (2006)"
|
||||
},
|
||||
{
|
||||
"Show Title": "The National Parks: America's Best Idea"
|
||||
},
|
||||
{
|
||||
"Show Title": "On Death Row"
|
||||
},
|
||||
{
|
||||
"Show Title": "Heimat"
|
||||
},
|
||||
{
|
||||
"Show Title": "Heimat II"
|
||||
},
|
||||
{
|
||||
"Show Title": "V (1983)"
|
||||
},
|
||||
{
|
||||
"Show Title": "V: The Final Battle"
|
||||
},
|
||||
{
|
||||
"Show Title": "Dunkirk (2004)"
|
||||
},
|
||||
{
|
||||
"Show Title": "Walking with Dinosaurs: The Ballad of Big Al"
|
||||
},
|
||||
{
|
||||
"Show Title": "Chased by Dinosaurs"
|
||||
},
|
||||
{
|
||||
"Show Title": "I Love Alaska"
|
||||
},
|
||||
{
|
||||
"Show Title": "Nerds 2.0.1: A Brief History of the Internet"
|
||||
},
|
||||
{
|
||||
"Show Title": "World on a Wire"
|
||||
},
|
||||
{
|
||||
"Show Title": "Prohibition (2011)"
|
||||
},
|
||||
{
|
||||
"Show Title": "The Dust Bowl"
|
||||
},
|
||||
{
|
||||
"Show Title": "The Story of Film: An Odyssey"
|
||||
},
|
||||
{
|
||||
"Show Title": "It (1990)"
|
||||
},
|
||||
{
|
||||
"Show Title": "Life with Judy Garland: Me and My Shadows"
|
||||
},
|
||||
{
|
||||
"Show Title": "Nazis: A Warning from History"
|
||||
},
|
||||
{
|
||||
"Show Title": "How To with John Wilson"
|
||||
},
|
||||
{
|
||||
"Show Title": "Russia 1985–1999: TraumaZone"
|
||||
},
|
||||
|
|
|
@ -28,6 +28,7 @@ def import_film(imdb_id, log):
|
|||
elif (429 == response.status_code):
|
||||
time.sleep(2)
|
||||
import_film(imdb_id)
|
||||
return
|
||||
else:
|
||||
logging.error(response.text)
|
||||
|
||||
|
@ -80,12 +81,93 @@ def import_film(imdb_id, log):
|
|||
|
||||
films.insert(0, film)
|
||||
|
||||
with open(f"./data/films/{log}.json", "w") as films_log:
|
||||
json.dump(films, films_log, indent=4)
|
||||
with open(f"./data/films/{log}.json", "w") as films_log:
|
||||
json.dump(films, films_log, indent=4)
|
||||
|
||||
logging.info(f"Added film {film['title']} ({film['release_date']}) to log {log}")
|
||||
|
||||
|
||||
def import_tv_episode(imdb_id, log):
|
||||
"""Import a TV episode via the TMDB API, given an IMDB ID"""
|
||||
logging.info(f"Processing {imdb_id}…")
|
||||
|
||||
api_url = f"https://api.themoviedb.org/3/find/{imdb_id}"
|
||||
|
||||
# Sending API request
|
||||
response = requests.get(
|
||||
api_url,
|
||||
params={
|
||||
'external_source': 'imdb_id'
|
||||
},
|
||||
headers={'Authorization': 'Bearer eyJhbGciOiJIUzI1NiJ9.eyJhdWQiOiI1NWQ2ZjY3YzJlOTQwMDI1NTFmN2VkNmEyZWVjM2E3NyIsInN1YiI6IjUxNWMyNzkxMTljMjk1MTQ0ZDAzZDM0NCIsInNjb3BlcyI6WyJhcGlfcmVhZCJdLCJ2ZXJzaW9uIjoxfQ.92eNKubJ_CORCIIlta30P9Qjg_Q9gPRFDTfG4gyz9kY'}
|
||||
)
|
||||
|
||||
# Process the response
|
||||
if (200 == response.status_code):
|
||||
logging.info(response.status_code)
|
||||
elif (429 == response.status_code):
|
||||
time.sleep(2)
|
||||
import_film(imdb_id)
|
||||
return
|
||||
else:
|
||||
logging.error(response.text)
|
||||
|
||||
response_data = json.loads(response.text)
|
||||
if 1 == len(response_data['tv_episode_results']):
|
||||
tv_episode = response_data['tv_episode_results'][0]
|
||||
elif 0 == len(response_data['tv_episode_results']):
|
||||
logging.error(f"Returned no results for {imdb_id}")
|
||||
return
|
||||
elif 1 < len(response_data['tv_episode_results']):
|
||||
logging.warning(f"Returned more than one TV episode for ID {imdb_id}")
|
||||
print(f"Returned more than one TV episode for ID {imdb_id}:")
|
||||
print(json.dumps(response_data['tv_episode_results'], indent=4))
|
||||
id = input("Enter the index of the result to use:")
|
||||
try:
|
||||
tv_episode = response_data['tv_episode_results'][id]
|
||||
except:
|
||||
logging.error("Index invalid!")
|
||||
print("Index invalid!")
|
||||
|
||||
|
||||
# Modify the returned result to add additional data
|
||||
tv_episode = cleanup_tv_episode(tv_episode)
|
||||
|
||||
if 'log' == log:
|
||||
date_watched = ''
|
||||
while re.search('[0-9]{4}-[0-9]{2}-[0-9]{2}', date_watched) is None:
|
||||
date_watched = input("Enter date watched [YYYY-MM-DD, t for today]:")
|
||||
if 't' == date_watched: date_watched = datetime.today().strftime('%Y-%m-%d')
|
||||
tv_episode['date_watched'] = date_watched
|
||||
|
||||
is_rewatch = ''
|
||||
while is_rewatch not in ['y', 'n']:
|
||||
is_rewatch = input("Is this a rewatch? [y/n]:")
|
||||
if 'y' == is_rewatch: tv_episode['is_rewatch'] = True
|
||||
|
||||
comments = input("Enter comments (optional):")
|
||||
if '' != comments: tv_episode['comments'] = comments
|
||||
|
||||
# Validation step
|
||||
correct = ''
|
||||
print("TV episode data to add:")
|
||||
print(json.dumps(tv_episode, indent=4))
|
||||
if 'y' != input("Does this look correct? [y]:"): return
|
||||
|
||||
# Save changes
|
||||
logging.info('Adding TV episode to log…')
|
||||
|
||||
with open(f"./data/tv/{log}.json", "r") as tv_episodes_log:
|
||||
tv_episodes = json.load(tv_episodes_log)
|
||||
|
||||
tv_episodes.insert(0, tv_episode)
|
||||
|
||||
with open(f"./data/tv/{log}.json", "w") as tv_episodes_log:
|
||||
json.dump(tv_episodes, tv_episodes_log, indent=4)
|
||||
|
||||
logging.info(f"Added TV episode {tv_episode['name']} ({tv_episode['air_date']}) to log {log}")
|
||||
|
||||
|
||||
def cleanup_film(film):
|
||||
"""Process a film returned by the TMDB API by removing unnecessary fields and adding others"""
|
||||
del film['adult'], film['backdrop_path'], film['genre_ids'], film['popularity'], film['video'], film['vote_average'], film['vote_count']
|
||||
|
@ -99,7 +181,19 @@ def cleanup_film(film):
|
|||
return film
|
||||
|
||||
|
||||
logging.basicConfig(filename='../logs/run.log', encoding='utf-8', level=logging.DEBUG)
|
||||
def cleanup_tv_episode(tv_episode):
|
||||
"""Process a TV episode returned by the TMDB API by removing unnecessary fields and adding others"""
|
||||
|
||||
# eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZ2UiOiIiLCJhcGlrZXkiOiJlNGRiYmZhYi0wZmM3LTRkMmEtYjgyZi0wZmRmMjAwOTcwOGYiLCJjb21tdW5pdHlfc3VwcG9ydGVkIjpmYWxzZSwiZXhwIjoxNzA3NTQ1NzQ5LCJnZW5kZXIiOiIiLCJoaXRzX3Blcl9kYXkiOjEwMDAwMDAwMCwiaGl0c19wZXJfbW9udGgiOjEwMDAwMDAwMCwiaWQiOiIxNTE5NDMiLCJpc19tb2QiOmZhbHNlLCJpc19zeXN0ZW1fa2V5IjpmYWxzZSwiaXNfdHJ1c3RlZCI6ZmFsc2UsInBpbiI6bnVsbCwicm9sZXMiOltdLCJ0ZW5hbnQiOiJ0dmRiIiwidXVpZCI6IiJ9.gdBQ7q3GKhl-Sr5GjjKQ4X2lJEuS5povPkYciYTY4kr_NMy_w_qBUV1lAjR-OVOyh3EB_zjroT08JiUUOUJbRGGNBpr7ct1gJgaiqKOncwawZZHoQOZMUw-wX77rdAmW93XusX9vF3HyQGp6982E6AdUhfsdx4be8DWDtG3roKnxXiwD5dC_0_V7eB-fYdk3xWSkAjJ4u7JxZTvsKuCpKFJu5ag4HB13tEgo2wB6PR4Bea1ocv2n9BJLbJevUvz4GmS8zNMMLvOTg9kbxr_BGX77XT0UU8L3Nxr21RblHkFfiR3DrqAp-DdKBNa_r7W0-fa7LrZqHFRq8FlSfjDqp29-uS4zOPYx6DxiBOCO30h0mOEncwnjiWRKEbPHMO9i53J8rbyOykwLhx6O6q431BTNpB8RFhhk5_RxGZfYNwXNl0XgSQSxeJgM9z19G5ADOCr4fvyTAu3KvKbmMFqNRxblHWOLiqGQjMZpjwOizVLMcTxICEv4HY6Sf9hM_deETWERmagmChsj1VACLa7Yar8wABuoQDFV3dMbDijDeEZgBc7CZ9NmAlYFW2YlARlqzI3lyIAJz_WKpmxZM400gNlDICPVqhT4VNq8ZYA2_bfu8yJxbm6BLpgqw_IPP2VLzKoGN8dCmavU_QeET21GNeDXuad9XcqxmZl9K1wPJCA
|
||||
del tv_episode['still_path'], tv_episode['vote_average'], tv_episode['vote_count'], tv_episode['episode_type'], tv_episode['production_code'], tv_episode['runtime']
|
||||
if 'media_type' in tv_episode: del tv_episode['media_type']
|
||||
|
||||
tv_episode['date_added'] = datetime.today().strftime('%Y-%m-%d')
|
||||
|
||||
return tv_episode
|
||||
|
||||
|
||||
logging.basicConfig(filename='./logs/run.log', encoding='utf-8', level=logging.DEBUG)
|
||||
|
||||
media_type = ''
|
||||
while media_type not in ['film', 'tv', 'book']:
|
||||
|
|
|
@ -4,6 +4,7 @@ import requests
|
|||
import time
|
||||
from urllib.request import urlopen
|
||||
|
||||
|
||||
def process_items(items):
|
||||
logging.info("Processing items…")
|
||||
item_values = {}
|
||||
|
|
Loading…
Reference in a new issue