def getTVrageEpisode(tvrage, title, date, season, episode): monthMap = {'01':'Jan', '02':'Feb', '03':'Mar', '04':'Apr', '05':'May', '06':'Jun', '07':'Jul', '08':'Aug', '09':'Sep', '10':'Oct', '11':'Nov', '12':'Dec'} title = cleantitle.tv(title) try: url = 'http://www.tvrage.com/shows/id-%s/episode_list/all' % tvrage result = client.request(url, timeout='5') search = re.compile('<td.+?><a.+?title=.+?season.+?episode.+?>(\d+?)x(\d+?)<.+?<td.+?>(\d+?/.+?/\d+?)<.+?<td.+?>.+?href=.+?>(.+?)<').findall(result.replace('\n','')) d = '%02d/%s/%s' % (int(date.split('-')[2]), monthMap[date.split('-')[1]], date.split('-')[0]) match = [i for i in search if d == i[2]] if len(match) == 1: return (str('%01d' % int(match[0][0])), str('%01d' % int(match[0][1]))) match = [i for i in search if title == cleantitle.tv(i[3])] if len(match) == 1: return (str('%01d' % int(match[0][0])), str('%01d' % int(match[0][1]))) except: pass try: url = 'http://epguides.com/common/exportToCSV.asp?rage=%s' % tvrage result = client.request(url, timeout='5') search = re.compile('\d+?,(\d+?),(\d+?),.+?,(\d+?/.+?/\d+?),"(.+?)",.+?,".+?"').findall(result) d = '%02d/%s/%s' % (int(date.split('-')[2]), monthMap[date.split('-')[1]], date.split('-')[0][-2:]) match = [i for i in search if d == i[2]] if len(match) == 1: return (str('%01d' % int(match[0][0])), str('%01d' % int(match[0][1]))) match = [i for i in search if title == cleantitle.tv(i[3])] if len(match) == 1: return (str('%01d' % int(match[0][0])), str('%01d' % int(match[0][1]))) except: pass
def getTVrageId(imdb, tvdb, show, year): try: from modules.indexers import trakt if not imdb.startswith('tt'): imdb = 'tt' + imdb result = trakt.getTVShowSummary(imdb) result = json.loads(result) tvrage = result['ids']['tvrage'] if tvrage == None: raise Exception() return str(tvrage) except: pass try: query = urllib.quote_plus(show) query = 'http://services.tvrage.com/feeds/search.php?show=%s' % query result = client.request(query, timeout='5') result = client.parseDOM(result, "show") show = cleantitle.tv(show) years = [str(year), str(int(year) + 1), str(int(year) - 1)] result = [ i for i in result if show == cleantitle. tv(client.replaceHTMLCodes(client.parseDOM(i, "name")[0])) and any( x in client.parseDOM(i, "started")[0] for x in years) ][0] tvrage = client.parseDOM(result, "showid")[0] return str(tvrage) except: pass
def getTVrageId(imdb, tvdb, show, year): try: from modules.indexers import trakt if not imdb.startswith('tt'): imdb = 'tt' + imdb result = trakt.getTVShowSummary(imdb) result = json.loads(result) tvrage = result['ids']['tvrage'] if tvrage == None: raise Exception() return str(tvrage) except: pass try: query = urllib.quote_plus(show) query = 'http://services.tvrage.com/feeds/search.php?show=%s' % query result = client.request(query, timeout='5') result = client.parseDOM(result, "show") show = cleantitle.tv(show) years = [str(year), str(int(year)+1), str(int(year)-1)] result = [i for i in result if show == cleantitle.tv(client.replaceHTMLCodes(client.parseDOM(i, "name")[0])) and any(x in client.parseDOM(i, "started")[0] for x in years)][0] tvrage = client.parseDOM(result, "showid")[0] return str(tvrage) except: pass