rating-orama/harvester/logic/utils.py
2023-04-09 06:45:27 +02:00

35 lines
1.2 KiB
Python

import imdb
from models.tv_show import TVShow, Episode
ia = imdb.Cinemagoer()
def get_tv_show_episodes(tt_id):
tv_show_episodes = ia.get_movie(tt_id)
ia.update(tv_show_episodes, 'episodes')
runtime = tv_show_episodes['runtimes'][0] if 'runtimes' in tv_show_episodes else 0
tv_show = TVShow(tv_show_episodes.getID(), tv_show_episodes['original title'], runtime)
episodes = []
for season in tv_show_episodes['episodes']:
for episode in tv_show_episodes['episodes'][season]:
one_episode = Episode(
tv_show_episodes['episodes'][season][episode].getID(),
tv_show_episodes['episodes'][season][episode].get('title', "#{}.{}".format(season, episode)),
tv_show_episodes['episodes'][season][episode].get('episode', episode),
tv_show_episodes['episodes'][season][episode].get('original air date', 0),
tv_show_episodes['episodes'][season][episode].get('rating', 0),
tv_show_episodes['episodes'][season][episode].get('votes', 0),
tv_show_episodes['episodes'][season][episode].get('season', season))
episodes.append(one_episode.to_dict())
tv_show.add_episodes(episodes)
return tv_show