def getshow(showname): if not isinstance(showname, str): raise TypeError("showname must be a string") imdburl = _getimdburl(showname) show = Show(name=showname, imdburl=imdburl) for season in getseasons(showname, imdburl=imdburl): for episode in getepisodes(showname, season.number, imdburl=imdburl): season.addepisode(episode) show.addseason(season) return show
def _dicttoshow(self, showname, dic): show = Show(name=showname, imdburl=dic['imdburl']) for seasonnum in dic['season']: season = Season(number=seasonnum, name="{} - {}".format(showname, seasonnum)) show.addseason(season) for episodenum in dic['season'][seasonnum]['episode']: episode = Episode(number=episodenum, name=dic['season'][seasonnum]['episode'][episodenum]['name'], airdate=datetime.strptime(dic['season'][seasonnum]['episode'][episodenum]['airdate'], AIR_DATE_FORMAT), description=dic['season'][seasonnum]['episode'][episodenum]['description'], watched=dic['season'][seasonnum]['episode'][episodenum]['watched'], seasonnumber=seasonnum, showname=showname,) season.addepisode(episode) return show