# -*- coding: utf-8 -*- # ------------------------------------------------------------ # Canale per Eurostreaming # by Greko # ------------------------------------------------------------ from core import httptools, support from core.item import Item # def findhost(url): # permUrl = httptools.downloadpage(url, follow_redirects=False, only_headers=True).headers # host = 'https://'+permUrl['location'].replace('https://www.google.it/search?q=site:', '') # return host host = support.config.get_channel_url() headers = [['Referer', host]] @support.menu def mainlist(item): support.info() tvshow = [] anime = ['/category/anime-cartoni-animati/'] mix = [('Aggiornamenti {bullet bold} {TV}', ['/aggiornamento-episodi/', 'peliculas', 'newest']), ('Archivio {bullet bold} {TV}', ['/category/serie-tv-archive/', 'peliculas'])] search = '' return locals() @support.scrape def peliculas(item): action = 'episodios' if item.args == 'newest': item.contentType = 'episode' patron = r'(?P[^<]+) –\s*<a href="(?P<url>[^"]+)"[^>]*>\s?(?P<episode>\d+[×x]\d+-\d+|\d+[×x]\d+) (?P<title2>[^<\(]+)\s?\(?(?P<lang>SUB ITA)?\)?</a>' pagination = '' else: patron = r'<div class="post-thumb">.*?\s<img src="(?P<thumb>[^"]+)".*?><a href="(?P<url>[^"]+)"[^>]+>(?P<title>.+?)\s?(?: Serie Tv)?\s?\(?(?P<year>\d{4})?\)?<\/a><\/h2>' patronNext=r'a class="next page-numbers" href="?([^>"]+)">Avanti »</a>' return locals() @support.scrape def episodios(item): # debug = True data = support.match(item, headers=headers).data if 'clicca qui per aprire' in data.lower(): data = support.match(support.match(data, patron=r'"go_to":"([^"]+)"').match.replace('\\',''), headers=headers).data elif 'clicca qui</span>' in data.lower(): data = support.match(support.match(data, patron=r'<h2 style="text-align: center;"><a href="([^"]+)">').match, headers=headers).data patronBlock = r'</span>(?P<block>[a-zA-Z\s]+\d+(.+?)?(?:\()?(?P<lang>ITA|SUB ITA)(?:\))?.*?)</div></div>' patron = r'(?P<season>\d+)&#\d+;(?P<episode>\d+(?:-\d+)?)\s*(?:</strong>|<em>)?\s*(?P<title>.*?)(?:–|-.+?-|–.+?–|–|em|.)?(?:/em.*?)?(?:<a (?P<other>.*?))?<br />' def itemHook(i): i.url = item.url return i return locals() def search(item, texto): support.info() item.url = "%s/?s=%s" % (host, texto) item.contentType = 'tvshow' try: return peliculas(item) # Continua la ricerca in caso di errore except: import sys for line in sys.exc_info(): support.info(line) return [] def newest(categoria): support.info() itemlist = [] item = Item() item.contentType = 'tvshow' item.args = 'newest' try: item.url = "%s/aggiornamento-episodi/" % host item.action = "peliculas" itemlist = peliculas(item) # Continua la ricerca in caso di errore except: import sys for line in sys.exc_info(): support.info("{0}".format(line)) return [] return itemlist def findvideos(item): support.info() return support.server(item, item.other)