From 404a2e140a576687700473dc62fedf1e3063a96f Mon Sep 17 00:00:00 2001 From: mac12m99 Date: Mon, 6 May 2019 19:55:45 +0200 Subject: [PATCH] support:autocomplete host if not present in scrapedurl-thumb or nextpage --- channels/altadefinizione01.py | 4 ++-- channels/support.py | 10 ++++++---- channels/vedohd.py | 4 ++-- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/channels/altadefinizione01.py b/channels/altadefinizione01.py index 9f92b624..f117eae5 100644 --- a/channels/altadefinizione01.py +++ b/channels/altadefinizione01.py @@ -45,12 +45,12 @@ def mainlist(item): def categories(item): support.log(item) - itemlist = support.scrape(item,'
  • (.*?)
  • ',['url','title'],headers,'Altadefinizione01',patron_block='',action='peliculas',url_host=host) + itemlist = support.scrape(item,'
  • (.*?)
  • ',['url','title'],headers,'Altadefinizione01',patron_block='',action='peliculas') return support.thumb(itemlist) def AZlist(item): support.log() - return support.scrape(item,r'(.*?)<\/div>',action='peliculas_list',url_host=host) + return support.scrape(item,r'(.*?)<\/div>',action='peliculas_list') def newest(categoria): diff --git a/channels/support.py b/channels/support.py index cbbbdf30..0e5ef638 100644 --- a/channels/support.py +++ b/channels/support.py @@ -86,7 +86,7 @@ def color(text, color): def scrape(item, patron = '', listGroups = [], headers="", blacklist="", data="", patron_block="", - patronNext="", action="findvideos", url_host="", addVideolibrary = True): + patronNext="", action="findvideos", addVideolibrary = True): # patron: the patron to use for scraping page, all capturing group must match with listGroups # listGroups: a list containing the scraping info obtained by your patron, in order # accepted values are: url, title, thumb, quality, year, plot, duration, genre, rating @@ -144,8 +144,8 @@ def scrape(item, patron = '', listGroups = [], headers="", blacklist="", data="" scraped = {} for kk in known_keys: val = match[listGroups.index(kk)] if kk in listGroups else '' - if kk == "url": - val = url_host + val + if val and (kk == "url" or kk == 'thumb') and 'http' not in val: + val = scrapertoolsV2.find_single_match(item.url, 'https?://[a-z0-9.-]+') + val scraped[kk] = val title = scrapertoolsV2.decodeHtmlentities(scraped["title"]).strip() @@ -462,7 +462,9 @@ def nextPage(itemlist, item, data, patron, function_level=1): # If the call is direct, leave it blank next_page = scrapertoolsV2.find_single_match(data, patron) - log('NEXT= ',next_page) + if 'http' not in next_page: + next_page = scrapertoolsV2.find_single_match(item.url, 'https?://[a-z0-9.-]+') + next_page + log('NEXT= ', next_page) if next_page != "": itemlist.append( diff --git a/channels/vedohd.py b/channels/vedohd.py index a0fc6439..c42dd0db 100644 --- a/channels/vedohd.py +++ b/channels/vedohd.py @@ -103,13 +103,13 @@ def findvideos(item): def generos(item): findhost() patron = '([a-zA-Z]+)' - return support.scrape(item, patron, ['url', 'title'], patron_block='Genere', action='peliculas', url_host=host) + return support.scrape(item, patron, ['url', 'title'], patron_block='Genere', action='peliculas') def year(item): findhost() patron = r'(\d+)' - return support.scrape(item, patron, ['url', 'title'], patron_block='Anno', action='peliculas', url_host=host) + return support.scrape(item, patron, ['url', 'title'], patron_block='Anno', action='peliculas') def play(item):