mirror of
https://github.com/Findus23/cr-search.git
synced 2024-09-19 15:23:44 +02:00
typing
This commit is contained in:
parent
93a4a0d521
commit
f84b9be8b7
3 changed files with 12 additions and 9 deletions
8
fetch.py
8
fetch.py
|
@ -17,7 +17,7 @@ from utils import srtdir, pretty_title, title_to_episodenumber, clear_cache
|
|||
static_path = Path("static")
|
||||
|
||||
|
||||
def main(args) -> None:
|
||||
def main(args: argparse.Namespace) -> None:
|
||||
os.nice(15)
|
||||
for series in series_data:
|
||||
name = series.name
|
||||
|
@ -36,14 +36,16 @@ def main(args) -> None:
|
|||
ydl_opts = {
|
||||
'extract_flat': True
|
||||
}
|
||||
if series.playlist_id:
|
||||
if playlist_id:
|
||||
with youtube_dl.YoutubeDL(ydl_opts) as ydl:
|
||||
playlist = ydl.extract_info("https://www.youtube.com/playlist?list=" + playlist_id, download=False)
|
||||
videos = playlist["entries"]
|
||||
|
||||
urls = [v["url"] for v in videos]
|
||||
else:
|
||||
elif series.videos:
|
||||
urls = series.videos
|
||||
else:
|
||||
raise ValueError("either set playlist or videos for series")
|
||||
ydl_opts_download = {
|
||||
"writesubtitles": True,
|
||||
"subtitleslangs": ["en", "en-US"],
|
||||
|
|
10
models.py
10
models.py
|
@ -17,7 +17,7 @@ class Series(BaseModel):
|
|||
is_campaign = BooleanField()
|
||||
single_speaker = BooleanField()
|
||||
|
||||
def __str__(self):
|
||||
def __str__(self) -> str:
|
||||
return f"<Series: {self.title}>"
|
||||
|
||||
|
||||
|
@ -42,7 +42,7 @@ class Episode(BaseModel):
|
|||
def name(self) -> str:
|
||||
return f"C{self.season}E{self.episode_number:03d}"
|
||||
|
||||
def __str__(self):
|
||||
def __str__(self) -> str:
|
||||
return f"<Episode: {self.title}>"
|
||||
|
||||
|
||||
|
@ -54,7 +54,7 @@ class Person(BaseModel):
|
|||
class Meta:
|
||||
indexes = ((("name", "series"), True),)
|
||||
|
||||
def __str__(self):
|
||||
def __str__(self) -> str:
|
||||
return f"<Person: {self.name}>"
|
||||
|
||||
|
||||
|
@ -72,7 +72,7 @@ class Line(BaseModel):
|
|||
class Meta:
|
||||
indexes = ((("episode", "order"), True),)
|
||||
|
||||
def __str__(self):
|
||||
def __str__(self) -> str:
|
||||
return f"<Line: {self.pk}>"
|
||||
|
||||
|
||||
|
@ -84,5 +84,5 @@ class Phrase(BaseModel):
|
|||
class Meta:
|
||||
indexes = ((("text", "episode"), True),)
|
||||
|
||||
def __str__(self):
|
||||
def __str__(self) -> str:
|
||||
return f"<Line: {self.text} ({self.pk})>"
|
||||
|
|
|
@ -28,13 +28,14 @@ That said, I try to only use phrases that don't contain spoilers themselves.
|
|||
#
|
||||
"""
|
||||
from dataclasses import dataclass
|
||||
from typing import Optional
|
||||
|
||||
|
||||
@dataclass
|
||||
class Suggestion:
|
||||
text: str
|
||||
# only show this suggestion to people who have watched at least this episode
|
||||
episode: int = None
|
||||
episode: Optional[int] = None
|
||||
|
||||
|
||||
suggestions = {
|
||||
|
|
Loading…
Reference in a new issue