utils.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import logging
  2. from scrobbles.utils import convert_to_seconds
  3. from videos.imdb import lookup_video_from_imdb
  4. from videos.models import Series, Video
  5. from videos.skatevideosite import lookup_video_from_skatevideosite
  6. logger = logging.getLogger(__name__)
  7. def get_or_create_video(data_dict: dict, post_keys: dict, force_update=False):
  8. name_or_id = data_dict.get(post_keys.get("IMDB_ID"), "") or data_dict.get(
  9. post_keys.get("VIDEO_TITLE"), ""
  10. )
  11. video = Video.objects.filter(imdb_id=name_or_id).first()
  12. if video:
  13. return video
  14. imdb_metadata = lookup_video_from_imdb(name_or_id)
  15. # skatevideosite_metadata = lookup_video_from_skatevideosite(name_or_id)
  16. # youtube_metadata = {} # TODO lookup_video_from_youtube(name_or_id)
  17. video_dict = imdb_metadata
  18. if not video_dict:
  19. logger.info(
  20. "No video found on imdb, skatevideosite or youtube, cannot scrobble",
  21. extra={"name_or_id": name_or_id},
  22. )
  23. return
  24. video = Video.get_from_imdb_id(video_dict.get("imdb_id")
  25. if not "overview" in video_dict.keys():
  26. video_dict["overview"] = data_dict.get(
  27. post_keys.get("OVERVIEW"), None
  28. )
  29. if not "tagline" in video_dict.keys():
  30. video_dict["tagline"] = data_dict.get(
  31. post_keys.get("TAGLINE"), None
  32. )
  33. if not "tmdb_id" in video_dict.keys():
  34. video_dict["tmdb_id"] = data_dict.get(
  35. post_keys.get("TMDB_ID"), None
  36. )
  37. return video
  38. def get_or_create_video_from_skatevideosite(title: str, force_update: bool=True):
  39. return