def create(cls, show_id): tvdb = TVDBConn() dic = tvdb.initseriesbyid(show_id) # Add Series series = dic["Series"] temp_name = re.sub("\s*\([0-9]*\)", "", series["SeriesName"]) temp_name = re.sub("&", "and", temp_name) temp_name = re.sub(":", "", temp_name) temp_name = re.sub("\.", "", temp_name) s = cls( id=series["id"], name=temp_name, air_day=cls.getField(series, "Airs_DayOfWeek"), air_time=cls.getField(series, "Airs_Time"), banner="http://www.thetvdb.com/banners/" + cls.getField(series, "banner"), poster="http://www.thetvdb.com/banners/" + cls.getField(series, "poster"), download=False, search=temp_name + " S{0s}E{0e}", ) s.save() if not os.path.exists(base_folder + "/" + unicode(temp_name)): os.mkdir(base_folder + "/" + unicode(temp_name)) episodes = dic["Episode"] for episode in episodes: Episode.create(episode, show_id, s.name)
def update(self): tvdb = TVDBConn() series = tvdb.getseriesbyid(self.id) self.air_day = Show.getField(series, "Airs_DayOfWeek") self.air_time = Show.getField(series, "Airs_Time") self.banner = "http://www.thetvdb.com/banners/" + Show.getField(series, "banner") self.poster = "http://www.thetvdb.com/banners/" + Show.getField(series, "poster") self.save()
def update(self, dic=None): tvdb = TVDBConn() if dic is None: dic = tvdb.getepisodebyid(self.id) self.season = dic["SeasonNumber"] self.number = dic["EpisodeNumber"] name = Episode.getField(dic, "EpisodeName", "No Name on TVDB") self.renameIfNeeded(name) self.air_date = dic.get("FirstAired") self.overview = Episode.getField(dic, "Overview", "No overview available.") self.image = "http://www.thetvdb.com/banners/" + Episode.getField(dic, "filename") self.save()
def search(request): class SearchResult: def __init__(self, seriesid, seriesname, overview): self.seriesid = seriesid self.seriesname = seriesname self.overview = overview tvdb = TVDBConn() searchtext = request.GET.get('searchtext') shows = [] for result in tvdb.lookup(searchtext.replace("+"," ")): shows.append( SearchResult(result['seriesid'], result['SeriesName'], result.get('Overview', 'No overview available.')) ) return render_to_response('dashboard/search.html', {'shows' : shows})