|
|
@@ -1,51 +1,24 @@
|
|
|
import logging
|
|
|
|
|
|
-from scrobbles.utils import convert_to_seconds
|
|
|
-from videos.imdb import lookup_video_from_imdb
|
|
|
-from videos.models import Series, Video
|
|
|
-from videos.skatevideosite import lookup_video_from_skatevideosite
|
|
|
+from videos.models import Video
|
|
|
+from django.db import IntegrityError
|
|
|
+#from videos.skatevideosite import lookup_video_from_skatevideosite
|
|
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
|
|
|
-def get_or_create_video(data_dict: dict, post_keys: dict, force_update=False):
|
|
|
- name_or_id = data_dict.get(post_keys.get("IMDB_ID"), "") or data_dict.get(
|
|
|
- post_keys.get("VIDEO_TITLE"), ""
|
|
|
- )
|
|
|
+def clean_up_videos():
|
|
|
+ videos = Video.objects.filter(imdb_id__isnull=False).exclude(imdb_id__icontains="tt")
|
|
|
|
|
|
- video = Video.objects.filter(imdb_id=name_or_id).first()
|
|
|
- if video:
|
|
|
- return video
|
|
|
+ for video in videos:
|
|
|
+ logger.info(f"Fixing imdb_id for {video}")
|
|
|
+ video.imdb_id = "tt" + video.imdb_id
|
|
|
+ try:
|
|
|
+ video.save(update_fields=["imdb_id"])
|
|
|
+ except IntegrityError:
|
|
|
+ new_video = Video.objects.filter(imdb_id="tt" + video.imdb_id).first()
|
|
|
+ video.scrobble_set.all().update(video=new_video)
|
|
|
+ video.delete()
|
|
|
|
|
|
- imdb_metadata = lookup_video_from_imdb(name_or_id)
|
|
|
- # skatevideosite_metadata = lookup_video_from_skatevideosite(name_or_id)
|
|
|
- # youtube_metadata = {} # TODO lookup_video_from_youtube(name_or_id)
|
|
|
-
|
|
|
- video_dict = imdb_metadata
|
|
|
- if not video_dict:
|
|
|
- logger.info(
|
|
|
- "No video found on imdb, skatevideosite or youtube, cannot scrobble",
|
|
|
- extra={"name_or_id": name_or_id},
|
|
|
- )
|
|
|
- return
|
|
|
-
|
|
|
- video = Video.find_or_create(video_dict.get("imdb_id"))
|
|
|
-
|
|
|
- if not "overview" in video_dict.keys():
|
|
|
- video_dict["overview"] = data_dict.get(
|
|
|
- post_keys.get("OVERVIEW"), None
|
|
|
- )
|
|
|
- if not "tagline" in video_dict.keys():
|
|
|
- video_dict["tagline"] = data_dict.get(
|
|
|
- post_keys.get("TAGLINE"), None
|
|
|
- )
|
|
|
- if not "tmdb_id" in video_dict.keys():
|
|
|
- video_dict["tmdb_id"] = data_dict.get(
|
|
|
- post_keys.get("TMDB_ID"), None
|
|
|
- )
|
|
|
-
|
|
|
- return video
|
|
|
-
|
|
|
-
|
|
|
-def get_or_create_video_from_skatevideosite(title: str, force_update: bool=True):
|
|
|
- return
|
|
|
+ videos = Video.objects.filter(scrobble__isnull=True)
|
|
|
+ videos.delete()
|