diff --git a/channels/altadefinizione01.py b/channels/altadefinizione01.py index b0b28008..da28e07f 100644 --- a/channels/altadefinizione01.py +++ b/channels/altadefinizione01.py @@ -2,13 +2,11 @@ # ------------------------------------------------------------ # Canale per altadefinizione01 # ------------------------------------------------------------ -import xbmc + from core import scrapertoolsV2, httptools, support from core.item import Item from platformcode import config, logger -__channel__ = "altadefinizione01" - #impostati dinamicamente da findhost() host = "" headers = "" @@ -17,10 +15,7 @@ def findhost(): global host, headers data = httptools.downloadpage('https://altadefinizione01-nuovo.link/').data host = scrapertoolsV2.find_single_match(data, '
(?P.*)
' elif item.args == 'update': @@ -64,9 +59,9 @@ def peliculas(item): '.+?[^>]+>[^>]+
(?P[A-Z/]+)<[^>]+>(?:.[^>]+>(?P.*?)<[^>]+>).*?'\ '

(?P.*?)</p>[^>]+> [^>]+> [^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+> [^>]+> '\ '[^>]+>[^>]+>(?P<year>\d{4})[^>]+>[^>]+> [^>]+>[^>]+>(?P<duration>\d+).+?>.*?<p>(?P<plot>[^<]+)<' - + patronNext = '<span>\d</span> <a href="([^"]+)">' - debug = True + #debug = True return locals() @support.scrape @@ -75,7 +70,7 @@ def categorie(item): findhost() if item.args != 'orderalf': action = "peliculas" else: action = 'orderalf' - + blacklist = ['Altadefinizione01'] if item.args == 'genres': patronBlock = r'<ul class="kategori_list">(?P<block>.*?)<div class="tab-pane fade" id="wtab2">' @@ -108,7 +103,8 @@ def findvideos(item): return support.server(item, headers=headers) def search(item, text): - logger.info("%s mainlist search log: %s %s" % (__channel__, item, text)) + support.log(item, text) + findhost() itemlist = [] text = text.replace(" ", "+") item.url = host + "/index.php?do=search&story=%s&subaction=search" % (text) @@ -119,7 +115,7 @@ def search(item, text): except: import sys for line in sys.exc_info(): - logger.error("search except %s: %s" % (__channel__, line)) + logger.error("search except: %s" % line) return [] def newest(categoria): @@ -131,7 +127,6 @@ def newest(categoria): item.url = host item.action = "peliculas" itemlist = peliculas(item) - if itemlist[-1].action == "peliculas": itemlist.pop() # Continua la ricerca in caso di errore diff --git a/channels/altadefinizione01_link.py b/channels/altadefinizione01_link.py index 0d14be29..2f035feb 100644 --- a/channels/altadefinizione01_link.py +++ b/channels/altadefinizione01_link.py @@ -49,16 +49,19 @@ def genres(item): action = 'peliculas' if item.args == 'genres': - patronBlock = r'<ul class="listSubCat" id="Film">(?P<block>.*)</ul>' + patronBlock = r'<ul class="listSubCat" id="Film">(?P<block>.*)<ul class="listSubCat" id="Anno">' + #pass elif item.args == 'years': - patronBlock = r'<ul class="listSubCat" id="Anno">(?P<block>.*)</ul>' + patronBlock = r'<ul class="listSubCat" id="Anno">(?P<block>.*)<ul class="listSubCat" id="Qualita">' elif item.args == 'quality': - patronBlock = r'<ul class="listSubCat" id="Qualita">(?P<block>.*)</ul>' - elif item.args == 'lucky': # sono i titoli random nella pagina, cambiano 1 volta al dì + patronBlock = r'<ul class="listSubCat" id="Qualita">(?P<block>.*)<blockquote' + elif item.args == 'lucky': # sono i titoli random nella pagina patronBlock = r'FILM RANDOM.*?class="listSubCat">(?P<block>.*)</ul>' action = 'findvideos' patron = r'<li><a href="(?P<url>[^"]+)">(?P<title>[^<]+)<' + debug = True + return locals() # =========== def per cercare film/serietv ============= @@ -91,7 +94,7 @@ def newest(categoria): if itemlist[-1].action == "peliculas": itemlist.pop() - # Continua la ricerca in caso di errore + # Continua la ricerca in caso di errore except: import sys for line in sys.exc_info(): diff --git a/channels/altadefinizioneclick.json b/channels/altadefinizioneclick.json index b354fe12..789b17a3 100644 --- a/channels/altadefinizioneclick.json +++ b/channels/altadefinizioneclick.json @@ -3,76 +3,9 @@ "name": "AltadefinizioneClick", "active": true, "adult": false, - "language": ["ita"], + "language": ["ita","vos"], "thumbnail": "https:\/\/raw.githubusercontent.com\/Zanzibar82\/images\/master\/posters\/altadefinizioneclick.png", "bannermenu": "https:\/\/raw.githubusercontent.com\/Zanzibar82\/images\/master\/posters\/altadefinizioneciclk.png", - "categories": ["movie","vosi"], - "settings": [ - { - "id": "channel_host", - "type": "text", - "label": "Host del canale", - "default": "https://altadefinizione.cloud", - "enabled": true, - "visible": true - }, - { - "id": "include_in_global_search", - "type": "bool", - "label": "Includi ricerca globale", - "default": true, - "enabled": true, - "visible": true - }, - { - "id": "include_in_newest_peliculas", - "type": "bool", - "label": "Includi in Novità - Film", - "default": true, - "enabled": true, - "visible": true - }, - { - "id": "include_in_newest_peliculas", - "type": "bool", - "label": "Includi in Novità - Film", - "default": true, - "enabled": true, - "visible": true - }, - { - "id": "include_in_newest_italiano", - "type": "bool", - "label": "Includi in Novità - Italiano", - "default": true, - "enabled": true, - "visible": true - }, - { - "id": "checklinks", - "type": "bool", - "label": "Verifica se i link esistono", - "default": false, - "enabled": true, - "visible": true - }, - { - "id": "checklinks_number", - "type": "list", - "label": "Numero de link da verificare", - "default": 1, - "enabled": true, - "visible": "eq(-1,true)", - "lvalues": [ "5", "10", "15", "20" ] - }, - { - "id": "filter_languages", - "type": "list", - "label": "Mostra link in lingua...", - "default": 0, - "enabled": true, - "visible": true, - "lvalues": ["Non filtrare","IT"] - } - ] + "categories": ["movie","vos"], + "settings": [] } diff --git a/channels/altadefinizioneclick.py b/channels/altadefinizioneclick.py index 905b8426..5a439d6a 100644 --- a/channels/altadefinizioneclick.py +++ b/channels/altadefinizioneclick.py @@ -3,10 +3,9 @@ # Canale per altadefinizioneclick # ---------------------------------------------------------- -from specials import autoplay from core import servertools, support from core.item import Item -from platformcode import config, logger +from platformcode import config#, logger __channel__ = 'altadefinizioneclick' @@ -18,56 +17,84 @@ list_quality = ['1080p'] @support.menu def mainlist(item): support.log() - - film = '' #'/nuove-uscite/' - filmSub = [ - ('Novità', ['/nuove-uscite/', 'peliculas']), - ('Al Cinema', ['/film-del-cinema', 'peliculas']), - ('Generi', ['', 'menu', 'Film']), - ('Anni', ['', 'menu', 'Anno']), - ('Qualità', ['', 'menu', 'Qualita']), - ('Sub-ITA', ['/sub-ita/', 'peliculas']) + film = ['', + ('Novità', ['/nuove-uscite/', 'peliculas', 'news']), + ('Al Cinema', ['/al-cinema/', 'peliculas', 'cinema']), + ('Generi', ['', 'genres', 'genres']), + ('Anni', ['', 'genres', 'years']), + ('Qualità', ['', 'genres', 'quality']), + ('Mi sento Fortunato',[ '', 'genres', 'lucky']), + ('Sub-ITA', ['/sub-ita/', 'peliculas', 'vos']) ] - - return locals() - -@support.scrape -def menu(item): - support.log() - - action='peliculas' - patron = r'<li><a href="(?P<url>[^"]+)">(?P<title>[^<]+)</a></li>' - patronBlock= r'<ul class="listSubCat" id="'+ str(item.args) + '">(?P<block>.*)</ul>' - return locals() @support.scrape def peliculas(item): support.log() - if item.extra == 'search': + #debug = True + patron = r'<div class="wrapperImage">[ ]?(?:<span class="hd">(?P<quality>[^<>]+))?.+?'\ + 'href="(?P<url>[^"]+)".+?src="(?P<thumb>[^"]+)".+?<h2 class="titleFilm">[^>]+>'\ + '(?P<title>.+?)[ ]?(?:|\[(?P<lang>[^\]]+)\])?(?:\((?P<year>\d{4})\))?</a>.*?'\ + '(?:IMDB\:</strong>[ ](?P<rating>.+?)<|</h2> )' + patronBlock = r'<h1 class="titleSection titleLastIns">(?P<block>.*?)<div class="row ismobile">' + + if item.args == 'news': + patronBlock = r'Nuove uscite</h1>(?P<block>.*?)<div class="row ismobile">' + elif item.args == 'cinema': + patronBlock = r'<h1 class="titleSection titleLastIns">Al cinema</h1>(?P<block>.*?)<div class="row ismobile">' + elif item.args == 'vos': + patronBlock = r'<h1 class="titleSection titleLastIns">SUB-ITA</h1>(?P<block>.*?)<div class="row ismobile">' + elif item.args == 'genres': + patronBlock = '<h1 class="titleSection titleLastIns">(?P<block>.*?)<div class="row ismobile">' + patron = r'<div class="wrapperImage">[ ]?(?:<span class="hd">'\ + '(?P<quality>[^<>]+))?.+?href="(?P<url>[^"]+)".+?src="(?P<thumb>[^"]+)"'\ + '.+?<h2 class="titleFilm(?:Mobile)?">[^>]+>(?P<title>.+?)[ ]?'\ + '(?:|\[(?P<lang>[^\]]+)\])?(?:\((?P<year>\d{4})\))?</a>.*?'\ + '(IMDB\:[ ](?P<rating>.+?))<' + elif item.args == 'search': + patronBlock = r'<section id="lastUpdate">(?P<block>.*?)<div class="row ismobile">' patron = r'<a href="(?P<url>[^"]+)">\s*<div class="wrapperImage">(?:<span class="hd">(?P<quality>[^<]+)'\ '<\/span>)?<img[^s]+src="(?P<thumb>[^"]+)"[^>]+>[^>]+>[^>]+>(?P<title>[^<]+)<[^<]+>'\ '(?:.*?IMDB:\s(\2[^<]+)<\/div>)?' else: - patron = r'<img width[^s]+src="(?P<thumb>[^"]+)[^>]+><\/a>.*?<a href="(?P<url>[^"]+)">(?P<title>[^(?:\]|<)]+)'\ - '(?:\[(?P<lang>[^\]]+)\])?<\/a>[^>]+>[^>]+>[^>]+>(?:\sIMDB\:\s(?P<rating>[^<]+)<)?'\ - '(?:.*?<span class="hd">(?P<quality>[^<]+)<\/span>)?\s*<a' + patronBlock = r'ULTIMI INSERITI(?P<block>.*?)<div class="sliderLastUpdate ismobile ">' - # in caso di CERCA si apre la maschera di inserimento dati - patronNext = r'<a class="next page-numbers" href="([^"]+)">' + # in caso di CERCA si apre la maschera di inserimento dati + patronNext = r'<a class="next page-numbers" href="([^"]+)">' + + return locals() + +@support.scrape +def genres(item): + support.log('genres', item) + #debug = True + + action = 'peliculas' + patron = r'<li><a href="(?P<url>[^"]+)">(?P<title>[^<]+)<' + + if item.args == 'genres': + patronBlock = r'<ul class="listSubCat" id="Film">(?P<block>.*)<ul class="listSubCat" id="Anno">' + elif item.args == 'years': + patronBlock = r'<ul class="listSubCat" id="Anno">(?P<block>.*)<ul class="listSubCat" id="Qualita">' + elif item.args == 'quality': + patronBlock = r'<ul class="listSubCat" id="Qualita">(?P<block>.*)</li> </ul> </div> </div> </div> <a' + elif item.args == 'lucky': # sono i titoli random nella pagina + patronBlock = r'<h3 class="titleSidebox dado">FILM RANDOM</h3>(?P<block>.*)</section>' + patron = r'<li><a href="(?P<url>[^"]+)">(?P<title>[^<[]+)(?:\[(?P<lang>.+?)\])?<' + action = 'findvideos' + + item.args = 'genres' return locals() def search(item, texto): support.log("search ", texto) - item.extra = 'search' + item.args = 'search' item.url = host + "/?s=" + texto - try: return peliculas(item) - - # Continua la ricerca in caso di errore + # Continua la ricerca in caso di errore except: import sys for line in sys.exc_info(): @@ -87,7 +114,7 @@ def newest(categoria): if itemlist[-1].action == "peliculas": itemlist.pop() - # Continua la ricerca in caso di errore + # Continua la ricerca in caso di errore except: import sys for line in sys.exc_info(): diff --git a/specials/checkhost.py b/specials/checkhost.py index c673e62b..ca53e09c 100644 --- a/specials/checkhost.py +++ b/specials/checkhost.py @@ -219,6 +219,10 @@ def test_conn(is_exit, check_dns, view_msg, if view_msg == True: ktest.view_Advise(config.get_localized_string(70722)) + xbmc.log("############ Inizio Check DNS ############", level=xbmc.LOGNOTICE) + xbmc.log("IP: %s" % (ktest.ip_addr), level=xbmc.LOGNOTICE) + xbmc.log("DNS: %s" % (ktest.dns), level=xbmc.LOGNOTICE) + xbmc.log("############ Fine Check DNS ############", level=xbmc.LOGNOTICE) if ktest.check_Ip() and ktest.check_Adsl() and ktest.check_Dns(): return True else: