[videos] Clean up utilities

This commit is contained in:
2025-11-17 18:13:40 -05:00
parent 7addd50577
commit 572dbf7a88
2 changed files with 22 additions and 48 deletions

View File

@ -30,7 +30,7 @@ YOUTUBE_VIDEO_URL = "https://www.youtube.com/watch?v="
YOUTUBE_CHANNEL_URL = "https://www.youtube.com/channel/"
YOUTUBE_ID_PATTERN = re.compile(r'^[A-Za-z0-9_-]{11}$')
IMDB_VIDEO_URL = "https://www.imdb.com/title/tt"
IMDB_VIDEO_URL = "https://www.imdb.com/title/"
logger = logging.getLogger(__name__)
BNULL = {"blank": True, "null": True}
@ -143,7 +143,7 @@ class Series(TimeStampedModel):
if not self.cover_image or (force_update and url):
r = requests.get(url)
if r.status_code == 200:
fname = f"{self.title}_{self.uuid}.jpg"
fname = f"{self.name}_{self.uuid}.jpg"
self.cover_image.save(fname, ContentFile(r.content), save=True)
def scrobbles_for_user(self, user_id: int, include_playing=False):
@ -198,7 +198,8 @@ class Series(TimeStampedModel):
def find_or_create(cls, imdb_id: str, overwrite: bool = True):
series, created = cls.objects.get_or_create(imdb_id=imdb_id)
if not (created or overwrite):
if not created and not overwrite:
logger.info("Series not created and overwrite=False, returning")
return series
vdict, _, cover, genres = lookup_video_from_imdb(
@ -382,9 +383,9 @@ class Video(ScrobblableMixin):
@classmethod
def find_or_create(cls, source_id: str, overwrite: bool = True) -> "Video":
if "tt" in source_id:
return cls.get_from_imdb_id(source_id)
return cls.get_from_imdb_id(source_id, overwrite)
if bool(YOUTUBE_ID_PATTERN.match(source_id)):
return cls.get_from_youtube_id(source_id)
return cls.get_from_youtube_id(source_id, overwrite)
#TODO scrobble but without a video obj?
logger.warning("Video ID not recognized, not scrobbling")