feat: checkhost e alcuni canali

checkhost stampa sul file di log ip e dns anche se non sono attivi i log di kodi e di kod
riscritti i canali con le nuove guide e funzionalita', support.scrape ed eliminazione dei campi di settings
This commit is contained in:
greko17
2019-09-09 21:17:17 +02:00
parent cebf2ca8f5
commit b010155f31
5 changed files with 84 additions and 122 deletions

View File

@@ -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, '<div class="elementor-button-wrapper"> <a href="([^"]+)"')
xbmc.log("host vale: %s" % host, level=xbmc.LOGNOTICE)
headers = [['Referer', host]]
#host = config.get_channel_url(__channel__)
#headers = [['User-Agent', 'Mozilla/50.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0'],
# ['Referer', host]]
@@ -46,9 +41,9 @@ def mainlist(item):
@support.scrape
def peliculas(item):
support.log('peliculas',item)
action="findvideos"
if item.args == "search":
patronBlock = r'</script> <div class="boxgrid caption">(?P<block>.*)<div id="right_bar">'
elif item.args == 'update':
@@ -64,9 +59,9 @@ def peliculas(item):
'.+?[^>]+>[^>]+<div class="trdublaj"> (?P<quality>[A-Z/]+)<[^>]+>(?:.[^>]+>(?P<lang>.*?)<[^>]+>).*?'\
'<p class="h4">(?P<title>.*?)</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

View File

@@ -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():

View File

@@ -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": []
}

View File

@@ -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():

View File

@@ -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: