def tvshow(self, imdb, tvdb, tvshowtitle, localtvshowtitle, aliases, year): try: if not source_utils.is_anime('show', 'tvdb', tvdb): return tv_maze = tvmaze.tvMaze() tvshowtitle = tv_maze.showLookup('thetvdb', tvdb) tvshowtitle = tvshowtitle['name'] t = cleantitle.get(tvshowtitle) q = self.search_link % (urllib.quote_plus(tvshowtitle)) q = urlparse.urljoin(self.base_link, q) r = client.request(q) r = client.parseDOM(r, 'ol', attrs={'id': 'searchresult'})[0] r = client.parseDOM(r, 'h2') r = [(client.parseDOM(i, 'a', ret='href'), client.parseDOM(i, 'a')) for i in r] r = [(i[0][0], i[1][0]) for i in r if len(i[0]) > 0 and len(i[1]) > 0] r = [(i[0], re.sub('<.+?>|</.+?>', '', i[1])) for i in r] r = [i for i in r if t == cleantitle.get(i[1])] r = r[-1][0] url = re.findall('(?://.+?|)(/.+)', r)[0] url = client.replaceHTMLCodes(url) url = url.encode('utf-8') return url except: return
def tvshow(self, imdb, tvdb, tvshowtitle, localtvshowtitle, aliases, year): try: if not source_utils.is_anime('show', 'tvdb', tvdb): return tv_maze = tvmaze.tvMaze() tvshowtitle = tv_maze.showLookup('thetvdb', tvdb) tvshowtitle = tvshowtitle['name'] t = cleantitle.get(tvshowtitle) q = urlparse.urljoin(self.base_link, self.search_link) q = q % urllib.quote_plus(tvshowtitle) r = client.request(q) r = client.parseDOM(r, 'ul', attrs={'class': 'items'}) r = client.parseDOM(r, 'li') r = [(client.parseDOM(i, 'a', ret='href'), client.parseDOM(i, 'a', ret='title'), re.findall('\d{4}', i)) for i in r] r = [(i[0][0], i[1][0], i[2][-1]) for i in r if i[0] and i[1] and i[2]] r = [i for i in r if t == cleantitle.get(i[1]) and year == i[2]] r = r[0][0] url = re.findall('(?://.+?|)(/.+)', r)[0] url = client.replaceHTMLCodes(url) url = url.encode('utf-8') return url except: return
def tvshow(self, imdb, tvdb, tvshowtitle, localtvshowtitle, aliases, year): try: if not source_utils.is_anime('show', 'tvdb', tvdb): return tv_maze = tvmaze.tvMaze() tvshowtitle = tv_maze.showLookup('thetvdb', tvdb) tvshowtitle = tvshowtitle['name'] t = cleantitle.get(tvshowtitle) q = self.search_link % (urllib.quote_plus(tvshowtitle)) q = urlparse.urljoin(self.base_link, q) r = client.request(q) r = client.parseDOM(r, 'ol', attrs = {'id': 'searchresult'})[0] r = client.parseDOM(r, 'h2') r = [(client.parseDOM(i, 'a', ret='href'), client.parseDOM(i, 'a')) for i in r] r = [(i[0][0], i[1][0]) for i in r if len(i[0]) > 0 and len(i[1]) > 0] r = [(i[0], re.sub('<.+?>|</.+?>','', i[1])) for i in r] r = [i for i in r if t == cleantitle.get(i[1])] r = r[-1][0] url = re.findall('(?://.+?|)(/.+)', r)[0] url = client.replaceHTMLCodes(url) url = url.encode('utf-8') return url except: return
def tvshow(self, imdb, tvdb, tvshowtitle, localtvshowtitle, aliases, year): try: if not source_utils.is_anime('show', 'tvdb', tvdb): return tv_maze = tvmaze.tvMaze() tvshowtitle = tv_maze.showLookup('thetvdb', tvdb) tvshowtitle = tvshowtitle['name'] t = cleantitle.get(tvshowtitle) q = urlparse.urljoin(self.base_link, self.search_link) q = q % urllib.quote_plus(tvshowtitle) r = client.request(q) r = client.parseDOM(r, 'ul', attrs={'class': 'items'}) r = client.parseDOM(r, 'li') r = [(client.parseDOM(i, 'a', ret='href'), client.parseDOM(i, 'a', ret='title'), re.findall('\d{4}', i)) for i in r] r = [(i[0][0], i[1][0], i[2][-1]) for i in r if i[0] and i[1] and i[2]] r = [i for i in r if t == cleantitle.get(i[1]) and year == i[2]] r = r[0][0] url = re.findall('(?://.+?|)(/.+)', r)[0] url = client.replaceHTMLCodes(url) url = url.encode('utf-8') return url except: return
def tvshow(self, imdb, tvdb, tvshowtitle, localtvshowtitle, aliases, year): try: url = self.__search([localtvshowtitle] + source_utils.aliases_to_array(aliases), year) if not url and tvshowtitle != localtvshowtitle: url = self.__search([tvshowtitle] + source_utils.aliases_to_array(aliases), year) if not url and source_utils.is_anime('show', 'tvdb', tvdb): url = self.__search([tvmaze.tvMaze().showLookup('thetvdb', tvdb).get('name')] + source_utils.aliases_to_array(aliases), year) return url except: return
def movie(self, imdb, title, localtitle, aliases, year): try: url = self.__search([localtitle] + source_utils.aliases_to_array(aliases), year) if not url and title != localtitle: url = self.__search([title] + source_utils.aliases_to_array(aliases), year) if not url and source_utils.is_anime('movie', 'imdb', imdb): url = self.__search([anilist.getAlternativTitle(title)] + source_utils.aliases_to_array(aliases), year) return url except: return
def episode(self, url, imdb, tvdb, title, premiered, season, episode): anime = source_utils.is_anime('show', 'tvdb', tvdb) self.anime = anime if anime: epNo = " " + source_utils.absoluteNumber(tvdb, episode, season) else: epNo = ' s' + season.zfill(2) + 'e' + episode.zfill(2) return [url[0] + epNo, url[1] + epNo, '', anime]
def tvshow(self, imdb, tvdb, tvshowtitle, localtvshowtitle, aliases, year): try: if not source_utils.is_anime('show', 'tvdb', tvdb): return url = self.__search([tvshowtitle, localtvshowtitle, tvmaze.tvMaze().showLookup('thetvdb', tvdb).get('name')] + source_utils.aliases_to_array(aliases), year) return urllib.urlencode({'url': url}) if url else None except: return
def movie(self, imdb, title, localtitle, aliases, year): try: if not source_utils.is_anime('movie', 'imdb', imdb): return url = self.__search([title, localtitle, anilist.getAlternativTitle(title)] + source_utils.aliases_to_array(aliases), year) return urllib.urlencode({'url': url}) if url else None except: return
def tvshow(self, imdb, tvdb, tvshowtitle, localtvshowtitle, aliases, year): try: if not source_utils.is_anime('show', 'tvdb', tvdb): return url = {'imdb': imdb, 'tvdb': tvdb, 'tvshowtitle': tvshowtitle, 'localtvshowtitle': localtvshowtitle, 'year': year} url = urllib.urlencode(url) return url except: return
def tvshow(self, imdb, tvdb, tvshowtitle, localtvshowtitle, aliases, year): try: linkAndTitle = self.__search([tvshowtitle, localtvshowtitle] + source_utils.aliases_to_array(aliases), year) aliases = source_utils.aliases_to_array(aliases) if not tvshowtitle and source_utils.is_anime('show', 'tvdb', tvdb): linkAndTitle = self.__search([tvmaze.tvMaze().showLookup('thetvdb', tvdb).get('name')] + source_utils.aliases_to_array(aliases), year) return linkAndTitle except: return ""
def tvshow(self, imdb, tvdb, tvshowtitle, localtvshowtitle, aliases, year): try: if not source_utils.is_anime('show', 'tvdb', tvdb): return url = self.__search([ tvshowtitle, localtvshowtitle, tvmaze.tvMaze().showLookup('thetvdb', tvdb).get('name') ] + source_utils.aliases_to_array(aliases), year) return urllib.urlencode({'url': url}) if url else None except: return
def movie(self, imdb, title, localtitle, aliases, year): try: if not source_utils.is_anime('movie', 'imdb', imdb): return url = self.__search( [title, localtitle, anilist.getAlternativTitle(title)] + source_utils.aliases_to_array(aliases), year) return urllib.urlencode({'url': url}) if url else None except: return
def episode(self, url, imdb, tvdb, title, premiered, season, episode): try: if url == None: return cookies = cache.cache_get('alltube_cookie')['value'] self.anime = source_utils.is_anime('show', 'tvdb', tvdb) if self.anime: txts = 's01e%02d' % int(source_utils.absoluteNumber(tvdb, episode, season)) else: txts = 's%02de%02d' % (int(season), int(episode)) result = client.request(url, headers={'Cookie': cookies}) # result = requests.get(url).content result = client.parseDOM(result, 'li', attrs={'class': 'episode'}) result = [i for i in result if txts in i][0] url = client.parseDOM(result, 'a', ret='href')[0] url = url.encode('utf-8') return url except: return