diff --git a/vrobbler/apps/videos/models.py b/vrobbler/apps/videos/models.py index c14295b..4f06b54 100644 --- a/vrobbler/apps/videos/models.py +++ b/vrobbler/apps/videos/models.py @@ -2,7 +2,6 @@ import logging from typing import Optional from uuid import uuid4 -import pendulum import requests from django.conf import settings from django.core.files.base import ContentFile @@ -21,8 +20,7 @@ from scrobbles.mixins import ( from taggit.managers import TaggableManager from videos.metadata import VideoMetadata from videos.sources.imdb import lookup_video_from_imdb - -from vrobbler.apps.videos.sources.youtube import lookup_video_from_youtube +from videos.sources.youtube import lookup_video_from_youtube YOUTUBE_VIDEO_URL = "https://www.youtube.com/watch?v=" YOUTUBE_CHANNEL_URL = "https://www.youtube.com/channel/" diff --git a/vrobbler/apps/videos/sources/imdb.py b/vrobbler/apps/videos/sources/imdb.py index 0c7ec02..333b401 100644 --- a/vrobbler/apps/videos/sources/imdb.py +++ b/vrobbler/apps/videos/sources/imdb.py @@ -72,26 +72,30 @@ def lookup_video_from_imdb( video_metadata.video_type = VideoType.MOVIE.value series_name = None if imdb_result.get("kind") == "episode": - series_name = imdb_result.get("episode of", None).data.get( - "title", None - ) - series, _ = Series.objects.get_or_create(name=series_name) - video_metadata.video_type = VideoType.TV_EPISODE.value - video_metadata.tv_series_id = series.id + try: + series_name = imdb_result.get("episode of", None).data.get( + "title", None + ) + except IndexError: + series_name = None + if series_name: + series, _ = Series.objects.get_or_create(name=series_name) + video_metadata.video_type = VideoType.TV_EPISODE.value + video_metadata.tv_series_id = series.id if imdb_result.get("runtimes"): video_metadata.run_time_seconds = ( int(imdb_result.get("runtimes")[0]) * 60 ) + video_metadata.imdb_id = name_or_id video_metadata.title = imdb_result.get("title", "") - video_metadata.imdb_id = imdb_result.get("imdbID") video_metadata.episode_number = imdb_result.get("episode", None) video_metadata.season_number = imdb_result.get("season", None) video_metadata.next_imdb_id = imdb_result.get("next episode", None) video_metadata.year = imdb_result.get("year", None) - video_metadata.plot = imdb_result.get("plot outline") - video_metadata.imdb_rating = imdb_result.get("rating") - video_metadata.genres = imdb_result.get("genres") + video_metadata.plot = imdb_result.get("plot outline", "") + video_metadata.imdb_rating = imdb_result.get("rating", None) + video_metadata.genres = imdb_result.get("genres", []) return video_metadata