[videos] At least stop IMDB from breaking
This commit is contained in:
@ -2,7 +2,6 @@ import logging
|
|||||||
from typing import Optional
|
from typing import Optional
|
||||||
from uuid import uuid4
|
from uuid import uuid4
|
||||||
|
|
||||||
import pendulum
|
|
||||||
import requests
|
import requests
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.core.files.base import ContentFile
|
from django.core.files.base import ContentFile
|
||||||
@ -21,8 +20,7 @@ from scrobbles.mixins import (
|
|||||||
from taggit.managers import TaggableManager
|
from taggit.managers import TaggableManager
|
||||||
from videos.metadata import VideoMetadata
|
from videos.metadata import VideoMetadata
|
||||||
from videos.sources.imdb import lookup_video_from_imdb
|
from videos.sources.imdb import lookup_video_from_imdb
|
||||||
|
from videos.sources.youtube import lookup_video_from_youtube
|
||||||
from vrobbler.apps.videos.sources.youtube import lookup_video_from_youtube
|
|
||||||
|
|
||||||
YOUTUBE_VIDEO_URL = "https://www.youtube.com/watch?v="
|
YOUTUBE_VIDEO_URL = "https://www.youtube.com/watch?v="
|
||||||
YOUTUBE_CHANNEL_URL = "https://www.youtube.com/channel/"
|
YOUTUBE_CHANNEL_URL = "https://www.youtube.com/channel/"
|
||||||
|
|||||||
@ -72,26 +72,30 @@ def lookup_video_from_imdb(
|
|||||||
video_metadata.video_type = VideoType.MOVIE.value
|
video_metadata.video_type = VideoType.MOVIE.value
|
||||||
series_name = None
|
series_name = None
|
||||||
if imdb_result.get("kind") == "episode":
|
if imdb_result.get("kind") == "episode":
|
||||||
series_name = imdb_result.get("episode of", None).data.get(
|
try:
|
||||||
"title", None
|
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
|
except IndexError:
|
||||||
video_metadata.tv_series_id = series.id
|
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"):
|
if imdb_result.get("runtimes"):
|
||||||
video_metadata.run_time_seconds = (
|
video_metadata.run_time_seconds = (
|
||||||
int(imdb_result.get("runtimes")[0]) * 60
|
int(imdb_result.get("runtimes")[0]) * 60
|
||||||
)
|
)
|
||||||
|
|
||||||
|
video_metadata.imdb_id = name_or_id
|
||||||
video_metadata.title = imdb_result.get("title", "")
|
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.episode_number = imdb_result.get("episode", None)
|
||||||
video_metadata.season_number = imdb_result.get("season", None)
|
video_metadata.season_number = imdb_result.get("season", None)
|
||||||
video_metadata.next_imdb_id = imdb_result.get("next episode", None)
|
video_metadata.next_imdb_id = imdb_result.get("next episode", None)
|
||||||
video_metadata.year = imdb_result.get("year", None)
|
video_metadata.year = imdb_result.get("year", None)
|
||||||
video_metadata.plot = imdb_result.get("plot outline")
|
video_metadata.plot = imdb_result.get("plot outline", "")
|
||||||
video_metadata.imdb_rating = imdb_result.get("rating")
|
video_metadata.imdb_rating = imdb_result.get("rating", None)
|
||||||
video_metadata.genres = imdb_result.get("genres")
|
video_metadata.genres = imdb_result.get("genres", [])
|
||||||
|
|
||||||
return video_metadata
|
return video_metadata
|
||||||
|
|||||||
Reference in New Issue
Block a user