From ebdbcdf4f9ae4de3bf976dda590b44a3ac628420 Mon Sep 17 00:00:00 2001 From: Alhaziel01 Date: Tue, 19 May 2020 16:59:12 +0200 Subject: [PATCH] Fix Eurostreaming --- channels/eurostreaming.py | 72 +++++++-------------------------------- 1 file changed, 13 insertions(+), 59 deletions(-) diff --git a/channels/eurostreaming.py b/channels/eurostreaming.py index 180a0339..44e29213 100644 --- a/channels/eurostreaming.py +++ b/channels/eurostreaming.py @@ -3,16 +3,8 @@ # Canale per Eurostreaming # by Greko # ------------------------------------------------------------ -""" - Problemi noti da non considerare come errori nel test: - - Alcune sezioni di anime-cartoni non vanno: - - alcune hanno solo la lista degli episodi, ma non hanno link! - Novità(globale): - - serie, anime -""" -import re -from core import scrapertools, httptools, support +from core import httptools, support from core.item import Item def findhost(): @@ -24,7 +16,6 @@ host = support.config.get_channel_url(findhost) headers = [['Referer', host]] - list_servers = ['akstream', 'wstream', 'mixdrop', 'vidtome', 'turbovid', 'speedvideo', 'flashx', 'nowvideo', 'deltabit'] list_quality = ['default'] @@ -33,14 +24,10 @@ def mainlist(item): support.log() - tvshow = ['' - ] - anime = ['/category/anime-cartoni-animati/' - ] - mix = [ - (support.typo('Aggiornamenti Serie-Anime', 'bullet bold'), ['/aggiornamento-episodi/', 'peliculas', 'newest']), - (support.typo('Archivio Serie-Anime', 'bullet bold'), ['/category/serie-tv-archive/', 'peliculas']) - ] + 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() @@ -48,64 +35,32 @@ def mainlist(item): @support.scrape def peliculas(item): - support.log() - #findhost() action = 'episodios' if item.args == 'newest': patron = r'(?P.*?)[^–â][\s]*<a href="(?P<url>[^"]+)"[^>]*> ?(?P<episode>\d+x\d+-\d+|\d+x\d+) .*?[ ]?\(?(?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='a class="next page-numbers" href="?([^>"]+)">Avanti »</a>' + patronNext=r'a class="next page-numbers" href="?([^>"]+)">Avanti »</a>' - # debug = True return locals() @support.scrape def episodios(item): - support.log("episodios: %s" % item) - #findhost() - - action = 'findvideos' - item.contentType = 'tvshow' - # Carica la pagina - data1 = pagina(item.url) - data1 = re.sub('\n|\t', ' ', data1) - data = re.sub(r'>\s+<', '> <', data1) - #patronBlock = r'(?P<block>STAGIONE\s\d+ (.+?)?(?:\()?(?P<lang>ITA|SUB ITA)(?:\))?.*?)</div></div>' + 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'(?:\s|\Wn)?(?:<strong>|)?(?P<episode>\d+&#\d+;\d+-\d+|\d+&#\d+;\d+)(?:</strong>|)?(?P<title>.+?)(?:–|-.+?-|–.+?–|–|.)?<a (?P<url>.*?)<br />' - patron = r'(?:\s|\Wn)?(?:<strong>|)?(?P<episode>\d+&#\d+;\d+-\d+|\d+&#\d+;\d+)(?:</strong>|)?(?P<title>.+?)(?:–|-.+?-|–.+?–|–|.)?(?:<a (?P<url>.*?))?<br />' + patron = r'(?P<season>\d+)&#\d+;(?P<episode>\d+(?:-\d+)?)\s*(?:</strong>|<em>)?\s*(?P<title>.+?)(?:–|-.+?-|–.+?–|–|em|.)?(?:/em.*?)?(?:<a (?P<url>.*?))?<br />' def itemHook(item): if not item.url: - item.title += ' [B][COLOR red]### NO LINK ###[/COLOR][/B]' + item.url ='' return item - #support.regexDbg(item, patronBlock, headers, data) - #debug = True return locals() -def pagina(url): - support.log(url) - #findhost() - data = httptools.downloadpage(url, headers=headers).data.replace("'", '"') - #support.log("DATA ----###----> ", data) - if 'clicca qui per aprire' in data.lower(): - url = scrapertools.find_single_match(data, '"go_to":"([^"]+)"') - url = url.replace("\\","") - # Carica la pagina - data = httptools.downloadpage(url, headers=headers).data.replace("'", '"') - - elif 'clicca qui</span>' in data.lower(): - url = scrapertools.find_single_match(data, '<h2 style="text-align: center;"><a href="([^"]+)">') - # Carica la pagina - data = httptools.downloadpage(url, headers=headers).data.replace("'", '"') - - return data - -# =========== def ricerca ============= def search(item, texto): support.log() @@ -122,7 +77,6 @@ def search(item, texto): support.log(line) return [] -# =========== def novità in ricerca globale ============= def newest(categoria): support.log() @@ -144,7 +98,7 @@ def newest(categoria): return itemlist -# =========== def findvideos ============= + def findvideos(item): - support.log('findvideos', item) + support.log() return support.server(item, item.url)