def show_season(show, pk, item=None, **kwargs): if pk not in show.seasons: show.seasons[pk] = Season.create(pk, item, **kwargs) else: show.seasons[pk].update(item, **kwargs) return show.seasons[pk]
def create(cls, media, item, keys=None, **kwargs): if keys is None: _, keys = cls.get_ids(media, item) if media == 'movie': return Movie.create(keys, item, **kwargs) if media == 'show': return Show.create(keys, item, **kwargs) if media == 'season': return Season.create(keys, item, **kwargs) if media == 'episode': return Episode.create(keys, item, **kwargs) raise ValueError('Unknown media type provided')