diff --git a/data.py b/data.py index 9184505..0f96a24 100644 --- a/data.py +++ b/data.py @@ -71,3 +71,25 @@ single_speaker = { } assert set(single_speaker["Handbooker Helper"].keys()) == set(range(1, 44 + 1)) + +series_data = [ + { + "name": "Campaign 1", + "playlist_id": "PL1tiwbzkOjQz7D0l_eLJGAISVtcL7oRu_", + }, + { + "name": "Campaign 2", + "playlist_id": "PL1tiwbzkOjQxD0jjAE7PsWoaCrs0EkBH2" + + }, + { + "name": "Handbooker Helper", + "playlist_id": "PL1tiwbzkOjQyr6-gqJ8r29j_rJkR49uDN", + "single_speaker": True + }, + { + "name": "Mini Primetime", + "playlist_id": "PL1tiwbzkOjQz9kKDaPRPrX2E7RPTaxEZd", + "initial_speaker": "Will" + } +] diff --git a/fetch.py b/fetch.py index ff152f3..52f1df0 100644 --- a/fetch.py +++ b/fetch.py @@ -8,26 +8,10 @@ from subprocess import run import youtube_dl from peewee import DoesNotExist +from data import series_data from models import Episode, Series, Line, Phrase from utils import srtdir, pretty_title -series_data = [ - { - "name": "Campaign 1", - "playlist_id": "PL1tiwbzkOjQz7D0l_eLJGAISVtcL7oRu_", - }, - { - "name": "Campaign 2", - "playlist_id": "PL1tiwbzkOjQxD0jjAE7PsWoaCrs0EkBH2" - - }, - { - "name": "Handbooker Helper", - "playlist_id": "PL1tiwbzkOjQyr6-gqJ8r29j_rJkR49uDN", - "single_speaker": True - } -] - def main(): os.nice(15) @@ -61,11 +45,10 @@ def main(): regex = re.compile(r"Ep(?:is|si)ode (\d+)") for nr, video in enumerate(videos, 1): - # if Episode.select().where((Episode.season == campaign) & (Episode.video_number == nr)).count() == 1: - # print(f"already imported {vttfile}") - # continue try: e = Episode.select().where((Episode.series == s) & (Episode.video_number == nr)).get() + if e.downloaded: + continue except DoesNotExist: e = Episode() e.series = s diff --git a/phrases.py b/phrases.py index a6231ab..67e0f40 100644 --- a/phrases.py +++ b/phrases.py @@ -47,7 +47,7 @@ for episode in Episode.select().where((Episode.phrases_imported == False) & (Epi if noun_chunk in lemma_cache: lemmas = lemma_cache[noun_chunk] else: - lemmas = "|".join([token.lemma_ for token in nlp(noun_chunk)]) + lemmas = "|".join([token.lemma_ for token in nlp(noun_chunk)]).lower() lemma_cache[noun_chunk] = lemmas if lemmas not in nouns: nouns[lemmas] = { diff --git a/web/src/interfaces.ts b/web/src/interfaces.ts index 004e5be..90ec5a3 100644 --- a/web/src/interfaces.ts +++ b/web/src/interfaces.ts @@ -28,7 +28,7 @@ export interface Line { "starttime": number; "endtime": number; "text": string; - "person": Person; + "person": Person | null; "episode": Episode; } diff --git a/web/src/views/Home.vue b/web/src/views/Home.vue index 3b2e0ee..576e453 100644 --- a/web/src/views/Home.vue +++ b/web/src/views/Home.vue @@ -247,7 +247,10 @@ export default Vue.extend({ } else if (line.isnote) { return "purple"; } - return line.person.color; + if (line.person) { + return line.person.color; + } + return "white"; }, doYtOptIn() { this.showYtOptIn = false;