def merge_episode(episode_info): # Split the name path, info = episode_info show_name = info['series'].lower() parsed_season = info['season'] parsed_episode = info['episodeNumber'] try: show = Show.get(Show.name == show_name) except DoesNotExist: # Show does not exist yet show = Show.create(name=show_name) season = Season.create(show=show, season_number=parsed_season) Episode.create(season=season, episode_number=parsed_episode, path=path, added_time=datetime.datetime.now()) print('Merged "' + show.name + '" season ' + str(parsed_season) + ' episode ' + str(parsed_episode)) else: try: season = Season.get(Season.show == show, Season.season_number == parsed_season) except DoesNotExist: # Season did not exist yet season = Season.create(show=show, season_number=parsed_season) Episode.create(season=season, episode_number=parsed_episode, path=path, added_time=datetime.datetime.now()) print('Merged "' + show.name + '" season ' + str(parsed_season) + ' episode ' + str(parsed_episode)) else: try: Episode.get(Episode.season == season, Episode.episode_number == parsed_episode) except DoesNotExist: Episode.create(season=season, episode_number=parsed_episode, path=path, added_time=datetime.datetime.now()) print('Merged "' + show.name + '" season ' + str(parsed_season) + ' episode ' + str(parsed_episode))
def update_episode_status(data): episode = Episode.get(Episode.id == data['id']) episode.episode_state = PlayState.from_num(data['episode_state'][0]) if "current_time" in data: episode.current_time = data['current_time'] else: episode.current_time = 0 if "total_time" in data: episode.total_time = data['total_time'] episode.last_watched = datetime.datetime.now() episode.save()