From 12290267ebb59f76b04bd4b0a7ac091063dade7b Mon Sep 17 00:00:00 2001 From: mac12m99 Date: Thu, 1 Aug 2019 21:14:55 +0200 Subject: [PATCH] miglioramento debugging e modifiche varie --- channels/cineblog01.py | 13 ++++--------- channels/toonitalia.py | 14 +------------- core/support.py | 41 ++++++++++++++++++++++------------------- 3 files changed, 27 insertions(+), 41 deletions(-) diff --git a/channels/cineblog01.py b/channels/cineblog01.py index 099fe09a..e30d07da 100644 --- a/channels/cineblog01.py +++ b/channels/cineblog01.py @@ -38,14 +38,12 @@ blacklist = ['BENVENUTI', 'Richieste Serie TV', 'CB01.UNO ▶ TROVA L’ @support.menu def mainlist(item): findhost() - film = '' - filmSub = [ + film = [ ('HD', ['', 'menu', 'Film HD Streaming']), ('Generi', ['', 'menu', 'Film per Genere']), ('Anni', ['', 'menu', 'Film per Anno']) ] - tvshow = '/serietv/' - tvshowSub = [ + tvshow = ['/serietv/', ('Aggiornamenti serie tv', ['/serietv/aggiornamento-quotidiano-serie-tv/', 'last']), ('Per Lettera', ['/serietv/', 'menu', 'Serie-Tv per Lettera']), ('Per Genere', ['/serietv/aggiornamento-quotidiano-serie-tv/', 'menu', 'Serie-Tv per Genere']), @@ -59,8 +57,7 @@ def mainlist(item): def menu(item): findhost() patronBlock = item.args + r'<\/span>.*?(.*?)<\/ul>' - patron = r'href="?(?P[^">]+)"?>(?P.*?)<\/a>' - thumb = '' + patronMenu = r'href="?(?P<url>[^">]+)"?>(?P<title>.*?)<\/a>' action = 'peliculas' return locals() @@ -133,13 +130,11 @@ def last(item): @support.scrape def peliculas(item): - support.log() - if item.contentType == 'movie' or '/serietv/' not in item.url: + if '/serietv/' not in item.url: patron = r'<div class="?card-image"?>.*?<img src="?(?P<thumb>[^" ]+)"? alt.*?<a href="?(?P<url>[^" >]+)(?:\/|")>(?P<title>[^<[(]+)(?:\[(?P<quality>[A-Za-z0-9/-]+)])? (?:\((?P<year>[0-9]{4})\))?.*?<strong>(?P<genre>[^<>&]+).*?DURATA (?P<duration>[0-9]+).*?<br(?: /)?>(?P<plot>[^<>]+)' action = 'findvideos' else: patron = r'div class="card-image">.*?<img src="(?P<thumb>[^ ]+)" alt.*?<a href="(?P<url>[^ >]+)">(?P<title>[^<[(]+)<\/a>.*?<strong><span style="[^"]+">(?P<genre>[^<>0-9(]+)\((?P<year>[0-9]{4}).*?</(?:p|div)>(?P<plot>.*?)</div' - listGroups = ['thumb', 'url', 'title', 'genre', 'year', 'plot'] action = 'episodios' patronBlock=[r'<div class="?sequex-page-left"?>(.*?)<aside class="?sequex-page-right"?>', diff --git a/channels/toonitalia.py b/channels/toonitalia.py index e1bfc373..ccb8cb76 100644 --- a/channels/toonitalia.py +++ b/channels/toonitalia.py @@ -31,18 +31,6 @@ def mainlist(item): return locals() -def search(item, texto): - logger.info("[toonitalia.py] " + item.url + " search " + texto) - item.url = host + "/?s=" + texto - item.args = 'search' - try: - return peliculas(item) - - except: - import sys - for line in sys.exc_info(): - logger.error("%s" % line) - return [] @support.scrape def peliculas(item): @@ -78,6 +66,7 @@ def check(item): itemlist = episodios(item) return itemlist + @support.scrape def episodios(item): anime = True @@ -93,4 +82,3 @@ def episodios(item): def findvideos(item): return support.server(item, item.url if item.contentType != 'movie' else httptools.downloadpage(item.url, headers=headers).data ) - \ No newline at end of file diff --git a/core/support.py b/core/support.py index b191b187..4439bf73 100644 --- a/core/support.py +++ b/core/support.py @@ -94,6 +94,8 @@ def color(text, color): def search(channel, item, texto): log(item.url + " search " + texto) + if 'findhost' in dir(channel): + channel.findhost() item.url = channel.host + "/?s=" + texto try: return channel.peliculas(item) @@ -106,9 +108,10 @@ def search(channel, item, texto): def dbg(): - import webbrowser - webbrowser.open('http://localhost:5555') import web_pdb; + if not web_pdb.WebPdb.active_instance: + import webbrowser + webbrowser.open('http://localhost:5555') web_pdb.set_trace() @@ -122,18 +125,18 @@ def regexDbg(item, patron, headers, data=''): html = re.sub('\n|\t', ' ', html) else: html = data - headers = {'content-type': 'application/json'} - data = { - 'regex': patron, - 'flags': 'gm', - 'testString': html, - 'delimiter': '"', - 'flavor': 'python' - } - r = urllib2.Request(url + '/api/regex', json.dumps(data), headers=headers) - r = urllib2.urlopen(r).read() - permaLink = json.loads(r)['permalinkFragment'] - webbrowser.open(url + "/r/" + permaLink) + headers = {'content-type': 'application/json'} + data = { + 'regex': patron, + 'flags': 'gm', + 'testString': html, + 'delimiter': '"', + 'flavor': 'python' + } + r = urllib2.Request(url + '/api/regex', json.dumps(data), headers=headers) + r = urllib2.urlopen(r).read() + permaLink = json.loads(r)['permalinkFragment'] + webbrowser.open(url + "/r/" + permaLink) def scrape2(item, patron = '', listGroups = [], headers="", blacklist="", data="", patronBlock="", @@ -189,11 +192,11 @@ def scrape(func): data = args['data'] if 'data' in args else '' patron = args['patron'] if 'patron' in args else args['patronMenu'] if 'patronMenu' in args else '' headers = args['headers'] if 'headers' in args else func.__globals__['headers'] - patron = args['patron'] if 'patron' in args else '' patronNext = args['patronNext'] if 'patronNext' in args else '' patronBlock = args['patronBlock'] if 'patronBlock' in args else '' typeActionDict = args['type_action_dict'] if 'type_action_dict' in args else {} typeContentDict = args['type_content_dict'] if 'type_content_dict' in args else {} + debug = args['debug'] if 'debug' in args else False if 'pagination' in args: pagination = args['pagination'] if args['pagination'] else 20 else: pagination = '' @@ -222,7 +225,7 @@ def scrape(func): matches = scrapertoolsV2.find_multiple_matches_groups(block, patron) log('MATCHES =', matches) - if 'debug' in args: + if debug: regexDbg(item, patron, headers, block) known_keys = ['url', 'title', 'title2', 'episode', 'thumb', 'quality', 'year', 'plot', 'duration', 'genere', @@ -572,7 +575,7 @@ def menu(func): title = sub + ' italic bold', url = host + var[0] if len(var) > 0 else '', action = var[1] if len(var) > 1 else 'peliculas', - args=var[2] if len(dictUrl[name]) > 2 else '', + args=var[2] if len(var) > 2 else '', contentType= var[3] if len(var) > 3 else 'movie',) # Make MAIN MENU @@ -591,7 +594,7 @@ def menu(func): title = sub + ' submenu' + typo(title,'_ {}'), url = host + var[0] if len(var) > 0 else '', action = var[1] if len(var) > 1 else 'peliculas', - args=var[2] if len(dictUrl[name]) > 2 else '', + args=var[2] if len(var) > 2 else '', contentType= var[3] if len(var) > 3 else 'movie',) # add search menu for category if 'search' not in args: menuItem(itemlist, filename, 'Cerca ' + title + '… submenu bold', 'search', host, args=name) @@ -607,7 +610,7 @@ def menu(func): title = sub + ' ', url = host + var[0] if len(var) > 0 else '', action = var[1] if len(var) > 1 else 'peliculas', - args=var[2] if len(dictUrl[name]) > 2 else '', + args=var[2] if len(var) > 2 else '', contentType= var[3] if len(var) > 3 else 'movie',)