allineamento al master kod del 26 maggio 2019

This commit is contained in:
greko
2019-05-26 02:20:21 +02:00
parent a340b6f054
commit cd1640acda
67 changed files with 637 additions and 418 deletions
+2 -2
View File
@@ -33,7 +33,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces", "id": "checklinks",
"type": "bool", "type": "bool",
"label": "Verifica se i link esistono", "label": "Verifica se i link esistono",
"default": false, "default": false,
@@ -41,7 +41,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces_num", "id": "checklinks_number",
"type": "list", "type": "list",
"label": "Numero di link da verificare", "label": "Numero di link da verificare",
"default": 1, "default": 1,
+4 -4
View File
@@ -16,8 +16,8 @@ list_language = IDIOMAS.values()
list_servers = ['openload', 'streamango', 'rapidvideo', 'streamcherry', 'megadrive'] list_servers = ['openload', 'streamango', 'rapidvideo', 'streamcherry', 'megadrive']
list_quality = ['default'] list_quality = ['default']
__comprueba_enlaces__ = config.get_setting('comprueba_enlaces', 'altadefinizione01') checklinks = config.get_setting('checklinks', 'altadefinizione01')
__comprueba_enlaces_num__ = config.get_setting('comprueba_enlaces_num', 'altadefinizione01') checklinks_number = config.get_setting('checklinks_number', 'altadefinizione01')
headers = [['Referer', host]] headers = [['Referer', host]]
blacklist_categorie = ['Altadefinizione01', 'Altadefinizione.to'] blacklist_categorie = ['Altadefinizione01', 'Altadefinizione.to']
@@ -147,8 +147,8 @@ def findvideos(item):
itemlist = support.server(item, headers=headers) itemlist = support.server(item, headers=headers)
# Requerido para Filtrar enlaces # Requerido para Filtrar enlaces
if __comprueba_enlaces__: if checklinks:
itemlist = servertools.check_list_links(itemlist, __comprueba_enlaces_num__) itemlist = servertools.check_list_links(itemlist, checklinks_number)
# Requerido para FilterTools # Requerido para FilterTools
# itemlist = filtertools.get_links(itemlist, item, list_language) # itemlist = filtertools.get_links(itemlist, item, list_language)
+2 -2
View File
@@ -44,7 +44,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces", "id": "checklinks",
"type": "bool", "type": "bool",
"label": "Verifica se i link esistono", "label": "Verifica se i link esistono",
"default": true, "default": true,
@@ -52,7 +52,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces_num", "id": "checklinks_number",
"type": "list", "type": "list",
"label": "Numero de link da verificare", "label": "Numero de link da verificare",
"default": 1, "default": 1,
+4 -4
View File
@@ -19,8 +19,8 @@ host = "https://www.altadefinizione01.vision/" #aggiornato al 30-04-209
# ======== Funzionalità ============================= # ======== Funzionalità =============================
__comprueba_enlaces__ = config.get_setting('comprueba_enlaces', __channel__) checklinks = config.get_setting('checklinks', __channel__)
__comprueba_enlaces_num__ = config.get_setting('comprueba_enlaces_num', __channel__) checklinks_number = config.get_setting('checklinks_number', __channel__)
headers = [['User-Agent', 'Mozilla/50.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0'], headers = [['User-Agent', 'Mozilla/50.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0'],
['Referer', host]] ['Referer', host]]
@@ -216,8 +216,8 @@ def findvideos(item):
logger.error("data doesn't contain expected URL") logger.error("data doesn't contain expected URL")
# Controlla se i link sono validi # Controlla se i link sono validi
if __comprueba_enlaces__: if checklinks:
itemlist = servertools.check_list_links(itemlist, __comprueba_enlaces_num__) itemlist = servertools.check_list_links(itemlist, checklinks_number)
# Requerido para FilterTools # Requerido para FilterTools
itemlist = filtertools.get_links(itemlist, item, list_language) itemlist = filtertools.get_links(itemlist, item, list_language)
+60 -17
View File
@@ -4,25 +4,27 @@
"active": true, "active": true,
"adult": false, "adult": false,
"language": ["ita"], "language": ["ita"],
"fanart": "https://altadefinizione01.estate/templates/Dark/img/logo2.png", "fanart": "",
"thumbnail": "https://altadefinizione01.estate/templates/Dark/img/logo2.png", "thumbnail": "",
"banner": "https://altadefinizione01.estate/templates/Dark/img/logo2.png", "banner": "http://altadefinizione01.link/templates/Dark/img/logonyy.png",
"fix" : "reimpostato url e modificato file per KOD",
"change_date": "2019-30-04",
"categories": [ "categories": [
"movie" "movie"
], ],
"settings": [ "settings": [
{ {
"id": "include_in_global_search", "id": "modo_grafico",
"type": "bool",
"label": "Includi in Ricerca Globale",
"default": true,
"enabled": true,
"visible": true
},
{
"id": "include_in_newest_peliculas",
"type": "bool", "type": "bool",
"label": "Includi in Novità - Film", "label": "Cerca informazioni extra",
"default": true,
"enabled": true,
"visible": true
},
{
"id": "include_in_newest_film",
"type": "bool",
"label": "Includi in Novità",
"default": true, "default": true,
"enabled": true, "enabled": true,
"visible": true "visible": true
@@ -35,6 +37,31 @@
"enabled": true, "enabled": true,
"visible": true "visible": true
}, },
{
"id": "include_in_global_search",
"type": "bool",
"label": "Includi ricerca globale",
"default": true,
"enabled": true,
"visible": true
},
{
"id": "checklinks",
"type": "bool",
"label": "Verifica se i link esistono",
"default": true,
"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", "id": "filter_languages",
"type": "list", "type": "list",
@@ -43,8 +70,24 @@
"enabled": true, "enabled": true,
"visible": true, "visible": true,
"lvalues": [ "lvalues": [
"No filtrar", "Non filtrare",
"Italiano" "IT"
]
},
{
"id": "perfil",
"type": "list",
"label": "profilo dei colori",
"default": 0,
"enabled": true,
"visible": true,
"lvalues": [
"Sin color",
"Perfil 5",
"Perfil 4",
"Perfil 3",
"Perfil 2",
"Perfil 1"
] ]
} }
] ]
+141 -66
View File
@@ -3,30 +3,14 @@
# -*- Creato per Alfa-addon -*- # -*- Creato per Alfa-addon -*-
# -*- e adattato for KOD -*- # -*- e adattato for KOD -*-
# -*- By Greko -*- # -*- By Greko -*-
# -*- last change: 23/05/2019 # -*- last change: 04/05/2019
"""
modificati:
core/servertools.py
core/support.py
problemi noti:
- non ordina le categorie
- titolo nella pagina server
- autoplay
- videoteca nella pagina dei server
Questi "problemi" secondo me vanno risolti in altri file, non ho modificato ulteriori file from channelselector import get_thumb
perchè non so se si vanno queste modifiche. from core import httptools, scrapertools, servertools, tmdb, support
Che portano le seguenti : from core.item import Item
1. scheletro dei canali simile, se non uguale per tutti, cambiano naturalmente gli host e le regex
2. con una modifica si cambiano tutti i canali
"""
from specials import autoplay
from core import support
from platformcode import config, logger from platformcode import config, logger
from specials import autoplay, filtertools
__channel__ = "altadefinizione01_link" __channel__ = "altadefinizione01_link"
@@ -34,15 +18,19 @@ __channel__ = "altadefinizione01_link"
#host = "http://altadefinizione01.art/" # aggiornato al 22 marzo 2019 #host = "http://altadefinizione01.art/" # aggiornato al 22 marzo 2019
#host = "https://altadefinizione01.network/" #aggiornato al 22 marzo 2019 #host = "https://altadefinizione01.network/" #aggiornato al 22 marzo 2019
#host = "http://altadefinizione01.date/" #aggiornato al 3 maggio 2019 #host = "http://altadefinizione01.date/" #aggiornato al 3 maggio 2019
#host = "https://altadefinizione01.voto/" #aggiornato al 3 maggio 2019 host = "https://altadefinizione01.voto/" #aggiornato al 3 maggio 2019
host = "https://altadefinizione01.estate/" # aggiornato al 23 maggio 2019
# ======== def per utility INIZIO ============================ # ======== def per utility INIZIO ============================
checklinks = config.get_setting('checklinks', __channel__)
checklinks_number = config.get_setting('checklinks_number', __channel__)
headers = [['Referer', host]] headers = [['User-Agent', 'Mozilla/50.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0'],
['Referer', host]]#,['Accept-Language','it-IT,it;q=0.8,en-US;q=0.5,en;q=0.3']]
list_servers = ['supervideo', 'streamcherry','rapidvideo', 'streamango', 'openload'] IDIOMAS = {'Italiano': 'IT'}
list_language = IDIOMAS.values()
list_servers = ['openload', 'streamcherry','rapidvideo', 'streamango', 'supervideo']
list_quality = ['default'] list_quality = ['default']
# =========== home menu =================== # =========== home menu ===================
@@ -53,79 +41,164 @@ def mainlist(item):
:param item: :param item:
:return: itemlist [] :return: itemlist []
""" """
support.log() logger.info("%s mainlist log: %s" % (__channel__, item))
itemlist = [] itemlist = []
autoplay.init(item.channel, list_servers, list_quality)
# Menu Principale # Menu Principale
support.menu(itemlist, 'Novità bold', 'peliculas', host) support.menu(itemlist, 'Film Ultimi Arrivi bold', 'peliculas', host)#, args='film')
support.menu(itemlist, 'Film per Genere', 'genres', host, args='genres') support.menu(itemlist, 'Genere', 'categorie', host, args=['','genres'])
support.menu(itemlist, 'Film per Anno submenu', 'genres', host, args='years') support.menu(itemlist, 'Per anno submenu', 'categorie', host, args=['Film per Anno','years'])
support.menu(itemlist, 'Film per Qualità submenu', 'genres', host, args='quality') support.menu(itemlist, 'Per qualità submenu', 'categorie', host, args=['Film per qualità','quality'])
support.menu(itemlist, 'Al Cinema bold', 'peliculas', host+'film-del-cinema') support.menu(itemlist, 'Al Cinema bold', 'peliculas', host+'film-del-cinema')
support.menu(itemlist, 'Popolari bold', 'peliculas', host+'piu-visti.html') support.menu(itemlist, 'Popolari bold', 'categorie', host+'piu-visti.html', args=['popular',''])
support.menu(itemlist, 'Mi sento fortunato bold', 'genres', host, args='lucky') support.menu(itemlist, 'Mi sento fortunato bold', 'categorie', host, args=['fortunato','lucky'])
support.menu(itemlist, 'Sub-ITA bold', 'peliculas', host+'film-sub-ita/') support.menu(itemlist, 'Sub-ITA bold', 'peliculas', host+'film-sub-ita/')
support.menu(itemlist, 'Cerca film submenu', 'search', host) support.menu(itemlist, 'Cerca film submenu', 'search', host)
# per autoplay
autoplay.init(item.channel, list_servers, list_quality)
autoplay.show_option(item.channel, itemlist) autoplay.show_option(item.channel, itemlist)
return itemlist return itemlist
# ======== def in ordine di action dal menu =========================== # ======== def in ordine di menu ===========================
def peliculas(item): def peliculas(item):
support.log logger.info("%s mainlist peliculas log: %s" % (__channel__, item))
itemlist = [] itemlist = []
# scarico la pagina
data = httptools.downloadpage(item.url, headers=headers).data
# da qui fare le opportuni modifiche
patron = 'class="innerImage">.*?href="([^"]+)".*?src="([^"]+)".*?'\
'class="ml-item-title">([^"]+)</.*?class="ml-item-label">'\
'(.*?)<.*?class="ml-item-label">.*?class="ml-item-label">(.*?)</'
matches = scrapertools.find_multiple_matches(data, patron)
patron = r'class="innerImage">.*?href="([^"]+)".*?src="([^"]+)"'\ for scrapedurl, scrapedimg, scrapedtitle, scrapedyear, scrapedlang in matches:
'.*?class="ml-item-title">([^"]+)</.*?class="ml-item-label">(.*?)'\ if 'italiano' in scrapedlang.lower():
'<.*?class="ml-item-label">.*?class="ml-item-label ml-item-label-.*?">'\ scrapedlang = 'ITA'
'(.*?)</div>.*?class="ml-item-label">(.*?)</' else:
listGroups = ['url', 'thumb', 'title', 'year', 'quality', 'lang'] scrapedlang = 'Sub-Ita'
itemlist.append(Item(
channel=item.channel,
action="findvideos",
contentTitle=scrapedtitle,
fulltitle=scrapedtitle,
url=scrapedurl,
infoLabels={'year': scrapedyear},
contenType="movie",
thumbnail=scrapedimg,
title="%s [%s]" % (scrapedtitle, scrapedlang),
language=scrapedlang,
context="buscar_trailer"
))
patronNext = '<span>\d</span> <a href="([^"]+)">' # poichè il sito ha l'anno del film con TMDB la ricerca titolo-anno è esatta quindi inutile fare lo scrap delle locandine
# e della trama dal sito che a volte toppano
tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True)
itemlist = support.scrape(item, patron=patron, listGroups=listGroups, # Paginazione
headers= headers, patronNext=patronNext, support.nextPage(itemlist,item,data,'<span>\d</span> <a href="([^"]+)">')
action='findvideos')
return itemlist return itemlist
# =========== def pagina categorie ====================================== # =========== def pagina categorie ======================================
def genres(item): def categorie(item):
support.log logger.info("%s mainlist categorie log: %s" % (__channel__, item))
itemlist = [] itemlist = []
#data = httptools.downloadpage(item.url, headers=headers).data # scarico la pagina
action = 'peliculas' data = httptools.downloadpage(item.url, headers=headers).data
if item.args == 'genres':
bloque = r'<ul class="listSubCat" id="Film">(.*?)</ul>'
elif item.args == 'years':
bloque = r'<ul class="listSubCat" id="Anno">(.*?)</ul>'
elif item.args == 'quality':
bloque = r'<ul class="listSubCat" id="Qualita">(.*?)</ul>'
elif item.args == 'lucky': # sono i titoli random nella pagina, cambiano 1 volta al dì
bloque = r'FILM RANDOM.*?class="listSubCat">(.*?)</ul>'
action = 'findvideos'
patron = r'<li><a href="([^"]+)">(.*?)<' # da qui fare le opportuni modifiche
if item.args[1] == 'genres':
bloque = scrapertools.find_single_match(data, '<ul class="listSubCat" id="Film">(.*?)</ul>')
elif item.args[1] == 'years':
bloque = scrapertools.find_single_match(data, '<ul class="listSubCat" id="Anno">(.*?)</ul>')
elif item.args[1] == 'quality':
bloque = scrapertools.find_single_match(data, '<ul class="listSubCat" id="Qualita">(.*?)</ul>')
elif item.args[1] == 'lucky': # sono i titoli random nella pagina, alcuni rimandano solo a server a pagamento
bloque = scrapertools.find_single_match(data, 'FILM RANDOM.*?class="listSubCat">(.*?)</ul>')
patron = '<li><a href="/(.*?)">(.*?)<'
matches = scrapertools.find_multiple_matches(bloque, patron)
listGroups = ['url','title'] if item.args[1] == 'lucky':
itemlist = support.scrape(item, patron=patron, listGroups=listGroups, bloque = scrapertools.find_single_match(data, 'FILM RANDOM.*?class="listSubCat">(.*?)</ul>')
headers= headers, patron_block = bloque, patron = '<li><a href="(.*?)">(.*?)<'
action=action) matches = scrapertools.find_multiple_matches(bloque, patron)
for scrapurl, scraptitle in sorted(matches):
if item.args[1] != 'lucky':
url = host+scrapurl
action="peliculas"
else:
url = scrapurl
action = "findvideos_film"
itemlist.append(Item(
channel=item.channel,
action=action,
title = scraptitle,
url=url,
thumbnail=get_thumb(scraptitle, auto = True),
Folder = True,
))
return itemlist
# =========== def pagina del film con i server per verderlo =============
# da sistemare che ne da solo 1 come risultato
def findvideos(item):
logger.info("%s mainlist findvideos_film log: %s" % (__channel__, item))
itemlist = []
# scarico la pagina
#data = scrapertools.cache_page(item.url) #non funziona più?
data = httptools.downloadpage(item.url, headers=headers).data
# da qui fare le opportuni modifiche
patron = '<li.*?<a href="#" data-target="(.*?)">'
matches = scrapertools.find_multiple_matches(data, patron)
#logger.info("altadefinizione01_linkMATCHES: %s " % matches)
for scrapedurl in matches:
try:
itemlist = servertools.find_video_items(data=data)
for videoitem in itemlist:
logger.info("Videoitemlist2: %s" % videoitem)
videoitem.title = "%s [%s]" % (item.contentTitle, videoitem.title)#"[%s] %s" % (videoitem.server, item.title) #"[%s]" % (videoitem.title)
videoitem.show = item.show
videoitem.contentTitle = item.contentTitle
videoitem.contentType = item.contentType
videoitem.channel = item.channel
videoitem.year = item.infoLabels['year']
videoitem.infoLabels['plot'] = item.infoLabels['plot']
except AttributeError:
logger.error("data doesn't contain expected URL")
# Controlla se i link sono validi
if checklinks:
itemlist = servertools.check_list_links(itemlist, checklinks_number)
# Requerido para FilterTools
itemlist = filtertools.get_links(itemlist, item, list_language)
# Requerido para AutoPlay
autoplay.start(itemlist, item)
# Aggiunge alla videoteca
if item.extra != 'findvideos' and item.extra != "library" and config.get_videolibrary_support() and len(itemlist) != 0 :
support.videolibrary(itemlist, item)
return itemlist return itemlist
# =========== def per cercare film/serietv ============= # =========== def per cercare film/serietv =============
#host+/index.php?do=search&story=avatar&subaction=search #host+/index.php?do=search&story=avatar&subaction=search
def search(item, text): def search(item, text):
support.log(categoria) logger.info("%s mainlist search log: %s %s" % (__channel__, item, text))
itemlist = [] itemlist = []
text = text.replace(" ", "+") text = text.replace(" ", "+")
item.url = host+"/index.php?do=search&story=%s&subaction=search" % (text) item.url = host+"/index.php?do=search&story=%s&subaction=search" % (text)
#item.extra = "search"
try: try:
return peliculas(item) return peliculas(item)
# Se captura la excepciÛn, para no interrumpir al buscador global si un canal falla # Se captura la excepciÛn, para no interrumpir al buscador global si un canal falla
@@ -138,17 +211,19 @@ def search(item, text):
# =========== def per le novità nel menu principale ============= # =========== def per le novità nel menu principale =============
def newest(categoria): def newest(categoria):
support.log(categoria) logger.info("%s mainlist search log: %s" % (__channel__, categoria))
itemlist = [] itemlist = []
item = Item() item = Item()
#item.extra = 'film'
try: try:
if categoria == "peliculas": if categoria == "film":
item.url = host item.url = host
item.action = "peliculas" item.action = "peliculas"
itemlist = peliculas(item) itemlist = peliculas(item)
if itemlist[-1].action == "peliculas": if itemlist[-1].action == "peliculas":
itemlist.pop() itemlist.pop()
# Continua la ricerca in caso di errore # Continua la ricerca in caso di errore
except: except:
import sys import sys
+2 -2
View File
@@ -41,7 +41,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces", "id": "checklinks",
"type": "bool", "type": "bool",
"label": "Verifica se i link esistono", "label": "Verifica se i link esistono",
"default": false, "default": false,
@@ -49,7 +49,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces_num", "id": "checklinks_number",
"type": "list", "type": "list",
"label": "Numero de link da verificare", "label": "Numero de link da verificare",
"default": 1, "default": 1,
+4 -4
View File
@@ -17,8 +17,8 @@ list_language = IDIOMAS.values()
list_servers = ['verystream', 'openload', 'streamango', "vidoza", "thevideo", "okru", 'youtube'] list_servers = ['verystream', 'openload', 'streamango', "vidoza", "thevideo", "okru", 'youtube']
list_quality = ['1080p'] list_quality = ['1080p']
__comprueba_enlaces__ = config.get_setting('comprueba_enlaces', 'altadefinizioneclick') checklinks = config.get_setting('checklinks', 'altadefinizioneclick')
__comprueba_enlaces_num__ = config.get_setting('comprueba_enlaces_num', 'altadefinizioneclick') checklinks_number = config.get_setting('checklinks_number', 'altadefinizioneclick')
headers = [['Referer', host]] headers = [['Referer', host]]
@@ -98,8 +98,8 @@ def findvideos(item):
itemlist = support.hdpass_get_servers(item) itemlist = support.hdpass_get_servers(item)
if __comprueba_enlaces__: if checklinks:
itemlist = servertools.check_list_links(itemlist, __comprueba_enlaces_num__) itemlist = servertools.check_list_links(itemlist, checklinks_number)
# itemlist = filtertools.get_links(itemlist, item, list_language) # itemlist = filtertools.get_links(itemlist, item, list_language)
+2 -2
View File
@@ -41,7 +41,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces", "id": "checklinks",
"type": "bool", "type": "bool",
"label": "Verifica se i link esistono", "label": "Verifica se i link esistono",
"default": false, "default": false,
@@ -49,7 +49,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces_num", "id": "checklinks_number",
"type": "list", "type": "list",
"label": "Numero de link da verificare", "label": "Numero de link da verificare",
"default": 1, "default": 1,
+2 -2
View File
@@ -33,7 +33,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces", "id": "checklinks",
"type": "bool", "type": "bool",
"label": "Verifica se i link esistono", "label": "Verifica se i link esistono",
"default": false, "default": false,
@@ -41,7 +41,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces_num", "id": "checklinks_number",
"type": "list", "type": "list",
"label": "Numero de link da verificare", "label": "Numero de link da verificare",
"default": 1, "default": 1,
+4 -4
View File
@@ -20,8 +20,8 @@ list_language = IDIOMAS.values()
list_servers = ['verystream', 'openload', 'streamango'] list_servers = ['verystream', 'openload', 'streamango']
list_quality = ['default'] list_quality = ['default']
__comprueba_enlaces__ = config.get_setting('comprueba_enlaces', 'animeleggendari') checklinks = config.get_setting('checklinks', 'animeleggendari')
__comprueba_enlaces_num__ = config.get_setting('comprueba_enlaces_num', 'animeleggendari') checklinks_number = config.get_setting('checklinks_number', 'animeleggendari')
def mainlist(item): def mainlist(item):
log() log()
@@ -176,8 +176,8 @@ def findvideos(item):
itemlist = support.server(item,data) itemlist = support.server(item,data)
if __comprueba_enlaces__: if checklinks:
itemlist = servertools.check_list_links(itemlist, __comprueba_enlaces_num__) itemlist = servertools.check_list_links(itemlist, checklinks_number)
# itemlist = filtertools.get_links(itemlist, item, list_language) # itemlist = filtertools.get_links(itemlist, item, list_language)
autoplay.start(itemlist, item) autoplay.start(itemlist, item)
+2 -2
View File
@@ -41,7 +41,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces", "id": "checklinks",
"type": "bool", "type": "bool",
"label": "Verifica se i link esistono", "label": "Verifica se i link esistono",
"default": false, "default": false,
@@ -49,7 +49,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces_num", "id": "checklinks_number",
"type": "list", "type": "list",
"label": "Numero de link da verificare", "label": "Numero de link da verificare",
"default": 1, "default": 1,
+85 -95
View File
@@ -8,10 +8,10 @@ import re
import urlparse import urlparse
import channelselector import channelselector
from core import httptools, tmdb, scrapertools, support from core import httptools, tmdb, support, scrapertools, jsontools
from core.item import Item from core.item import Item
from platformcode import logger, config from platformcode import logger, config
from specials import autoplay from specials import autoplay, autorenumber
__channel__ = "animesaturn" __channel__ = "animesaturn"
host = config.get_setting("channel_host", __channel__) host = config.get_setting("channel_host", __channel__)
@@ -22,45 +22,14 @@ list_language = IDIOMAS.values()
list_servers = ['openload','fembed'] list_servers = ['openload','fembed']
list_quality = ['default'] list_quality = ['default']
# __comprueba_enlaces__ = config.get_setting('comprueba_enlaces', __channel__)
# __comprueba_enlaces_num__ = config.get_setting('comprueba_enlaces_num', __channel__)
def mainlist(item): def mainlist(item):
support.log(item.channel + 'mainlist') support.log(item.channel + 'mainlist')
itemlist = [] itemlist = []
support.menu(itemlist, 'Anime bold', 'lista_anime', "%s/animelist?load_all=1" % host,'anime') support.menu(itemlist, 'Anime bold', 'lista_anime', "%s/animelist?load_all=1" % host)
itemlist.append( support.menu(itemlist, 'Novità submenu', 'ultimiep', "%s/fetch_pages.php?request=episodes" % host,'tvshow')
Item(channel=item.channel, support.menu(itemlist, 'Archivio A-Z submenu', 'list_az', '%s/animelist?load_all=1' % host,args=['tvshow','alfabetico'])
action="ultimiep", support.menu(itemlist, 'Cerca', 'search', host)
url="%s/fetch_pages.php?request=episodios" % host,
title=support.typo("Novità submenu"),
extra="",
contentType='anime',
folder=True,
thumbnail=support.thumb())
)
# itemlist.append(
# Item(channel=item.channel,
# action="lista_anime",
# url="%s/animeincorso" % host,
# title=support.typo("In corso submenu"),
# extra="anime",
# contentType='anime',
# folder=True,
# thumbnail=channelselector.get_thumb('on_the_air.png'))
# )
itemlist.append(
Item(channel=item.channel,
action="list_az",
url="%s/animelist?load_all=1" % host,
title=support.typo("Archivio A-Z submenu"),
extra="anime",
contentType='anime',
folder=True,
thumbnail=channelselector.get_thumb('channels_tvshow_az.png'))
)
support.menu(itemlist, 'Cerca', 'search', host,'anime')
autoplay.init(item.channel, list_servers, list_quality) autoplay.init(item.channel, list_servers, list_quality)
@@ -131,9 +100,14 @@ def lista_anime(item):
title += ' '+support.typo(' (ITA)') title += ' '+support.typo(' (ITA)')
infoLabels = {} infoLabels = {}
# if 'Akira' in title: if 'Akira' in title:
# movie = True movie = True
# infoLabels['year']= 1988 infoLabels['year']= 1988
if 'Dragon Ball Super Movie' in title:
movie = True
infoLabels['year'] = 2019
itemlist.append( itemlist.append(
Item(channel=item.channel, Item(channel=item.channel,
@@ -213,7 +187,7 @@ def episodios(item):
fanart=item.thumbnail, fanart=item.thumbnail,
thumbnail=item.thumbnail)) thumbnail=item.thumbnail))
if((len(itemlist) == 1 and 'Movie' in itemlist[0].title) or movie): if(((len(itemlist) == 1 and 'Movie' in itemlist[0].title) or movie) and item.contentType!='movie'):
item.url = itemlist[0].url item.url = itemlist[0].url
item.contentType = 'movie' item.contentType = 'movie'
return findvideos(item) return findvideos(item)
@@ -235,6 +209,7 @@ def findvideos(item):
if(item.contentType == 'movie'): if(item.contentType == 'movie'):
episodes = episodios(item) episodes = episodios(item)
if(len(episodes)>0): if(len(episodes)>0):
item.url = episodes[0].url item.url = episodes[0].url
@@ -245,26 +220,14 @@ def findvideos(item):
url = scrapertools.find_single_match(data, patron) url = scrapertools.find_single_match(data, patron)
data = httptools.downloadpage(url).data data = httptools.downloadpage(url).data
# patron = r"""<source\s*src=(?:"|')([^"']+?)(?:"|')\s*type=(?:"|')video/mp4(?:"|')>"""
# matches = re.compile(patron, re.DOTALL).findall(data)
# for video in matches:
# itemlist.append(
# Item(
# channel=item.channel,
# action="play",
# fulltitle=item.fulltitle,
# title="".join([item.title, ' ', support.typo(video.title, 'color kod []')]),
# url=video,
# contentType=item.contentType,
# folder=False))
itemlist = support.server(item, data=data) itemlist = support.server(item, data=data)
# itemlist = filtertools.get_links(itemlist, item, list_language)
if item.contentType == 'movie':
support.videolibrary(itemlist, item, 'color kod')
# Controlla se i link sono validi # Controlla se i link sono validi
# if __comprueba_enlaces__: # if checklinks:
# itemlist = servertools.check_list_links(itemlist, __comprueba_enlaces_num__) # itemlist = servertools.check_list_links(itemlist, checklinks_number)
# #
# autoplay.start(itemlist, item) # autoplay.start(itemlist, item)
@@ -279,16 +242,13 @@ def ultimiep(item):
logger.info(item.channel + "ultimiep") logger.info(item.channel + "ultimiep")
itemlist = [] itemlist = []
post = "page=%s" % item.extra if item.extra else None post = "page=%s" % item.args['page'] if item.args and item.args['page'] else None
logger.debug(post)
logger.debug(item.url)
data = httptools.downloadpage( data = httptools.downloadpage(
item.url, post=post, headers={ item.url, post=post, headers={
'X-Requested-With': 'XMLHttpRequest' 'X-Requested-With': 'XMLHttpRequest'
}).data }).data
logger.debug(data)
patron = r"""<a href='[^']+'><div class="locandina"><img alt="[^"]+" src="([^"]+)" title="[^"]+" class="grandezza"></div></a>\s*""" patron = r"""<a href='[^']+'><div class="locandina"><img alt="[^"]+" src="([^"]+)" title="[^"]+" class="grandezza"></div></a>\s*"""
patron += r"""<a href='([^']+)'><div class="testo">(.+?)</div></a>\s*""" patron += r"""<a href='([^']+)'><div class="testo">(.+?)</div></a>\s*"""
patron += r"""<a href='[^']+'><div class="testo2">(.+?)</div></a>""" patron += r"""<a href='[^']+'><div class="testo2">(.+?)</div></a>"""
@@ -298,6 +258,7 @@ def ultimiep(item):
scrapedtitle1 = cleantitle(scrapedtitle1) scrapedtitle1 = cleantitle(scrapedtitle1)
scrapedtitle2 = cleantitle(scrapedtitle2) scrapedtitle2 = cleantitle(scrapedtitle2)
scrapedtitle = scrapedtitle1 + ' - ' + scrapedtitle2 + '' scrapedtitle = scrapedtitle1 + ' - ' + scrapedtitle2 + ''
itemlist.append( itemlist.append(
Item(channel=item.channel, Item(channel=item.channel,
contentType="tvshow", contentType="tvshow",
@@ -313,16 +274,15 @@ def ultimiep(item):
# Pagine # Pagine
patronvideos = r'data-page="(\d+)" title="Next">Pagina Successiva' patronvideos = r'data-page="(\d+)" title="Next">Pagina Successiva'
next_page = scrapertools.find_single_match(data, patronvideos) next_page = scrapertools.find_single_match(data, patronvideos)
if next_page: if next_page:
itemlist.append( itemlist.append(
Item( Item(
channel=item.channel, channel=item.channel,
action="ultimiep", action="ultimiep",
title=support.typo(config.get_localized_string(30992), 'color kod bold'), title=support.typo(config.get_localized_string(30992), 'color kod bold'),
url=host + "/fetch_pages?request=episodios", url=item.url,
thumbnail= support.thumb(), thumbnail= support.thumb(),
extra=next_page, args={'page':next_page},
folder=True)) folder=True))
return itemlist return itemlist
@@ -362,42 +322,73 @@ def newest(categoria):
# ================================================================================================================ # ================================================================================================================
# ---------------------------------------------------------------------------------------------------------------- # ----------------------------------------------------------------------------------------------------------------
def search_anime(item): def search_anime(item, texto):
logger.info(item.channel + " search_anime") logger.info(item.channel + " search_anime: "+texto)
itemlist = [] itemlist = []
data = httptools.downloadpage(host + "/animelist?load_all=1").data # data = httptools.downloadpage(host + "/animelist?load_all=1").data
data = scrapertools.decodeHtmlentities(data) # data = scrapertools.decodeHtmlentities(data)
#
# texto = texto.lower().split('+')
#
# patron = r'<a href="([^"]+)"[^>]*?>[^>]*?>(.+?)<'
# matches = re.compile(patron, re.DOTALL).findall(data)
#
# for scrapedurl, scrapedtitle in [(scrapedurl, scrapedtitle)
# for scrapedurl, scrapedtitle in matches
# if all(t in scrapedtitle.lower()
# for t in texto)]:
#
# title = cleantitle(scrapedtitle).replace('(ita)','(ITA)')
# showtitle = title
# if '(ITA)' in title:
# title = title.replace('(ITA)','').strip()
# showtitle = title
# title += ' '+support.typo(' [ITA] color kod')
#
# itemlist.append(
# Item(
# channel=item.channel,
# contentType="episode",
# action="episodios",
# title=title,
# url=scrapedurl,
# fulltitle=title,
# show=showtitle,
# thumbnail=""))
#
# tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True)
texto = item.url.lower().split('+') data = httptools.downloadpage(host + "/index.php?search=1&key=%s" % texto).data
jsondata = jsontools.load(data)
patron = r'<a href="([^"]+)"[^>]*?>[^>]*?>(.+?)<' for title in jsondata:
matches = re.compile(patron, re.DOTALL).findall(data) data = str(httptools.downloadpage("%s/templates/header?check=1" % host, post="typeahead=%s" % title).data)
for scrapedurl, scrapedtitle in [(scrapedurl, scrapedtitle) if 'Anime non esistente' in data:
for scrapedurl, scrapedtitle in matches continue
if all(t in scrapedtitle.lower() else:
for t in texto)]: title = title.replace('(ita)','(ITA)')
title = cleantitle(scrapedtitle).replace('(ita)','(ITA)')
showtitle = title
if '(ITA)' in title:
title = title.replace('(ITA)','').strip()
showtitle = title showtitle = title
title += ' '+support.typo(' [ITA] color kod') if '(ITA)' in title:
title = title.replace('(ITA)', '').strip()
showtitle = title
title += ' ' + support.typo(' (ITA)')
itemlist.append( url = "%s/anime/%s" % (host, data)
Item( logger.debug(title)
channel=item.channel, logger.debug(url)
contentType="episode",
action="episodios",
title=title,
url=scrapedurl,
fulltitle=title,
show=showtitle,
thumbnail=""))
tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) itemlist.append(
Item(
channel=item.channel,
contentType="episode",
action="episodios",
title=title,
url=url,
fulltitle=title,
show=showtitle,
thumbnail=""))
return itemlist return itemlist
@@ -408,10 +399,9 @@ def search_anime(item):
def search(item, texto): def search(item, texto):
logger.info(item.channel + " search") logger.info(item.channel + " search")
itemlist = [] itemlist = []
item.url = texto
try: try:
return search_anime(item) return search_anime(item, texto)
except: except:
import sys import sys
+1 -1
View File
@@ -32,7 +32,7 @@
] ]
}, },
{ {
"id": "comprueba_enlaces_num", "id": "checklinks_number",
"type": "list", "type": "list",
"label": "Número de enlaces a verificar", "label": "Número de enlaces a verificar",
"default": 1, "default": 1,
+4 -4
View File
@@ -17,8 +17,8 @@ from specials import renumbertools
host = "https://animespace.tv/" host = "https://animespace.tv/"
__comprueba_enlaces__ = config.get_setting('comprueba_enlaces', 'animespace') checklinks = config.get_setting('checklinks', 'animespace')
__comprueba_enlaces_num__ = config.get_setting('comprueba_enlaces_num', 'animespace') checklinks_number = config.get_setting('checklinks_number', 'animespace')
IDIOMAS = {'VOSE': 'VOSE'} IDIOMAS = {'VOSE': 'VOSE'}
list_language = IDIOMAS.values() list_language = IDIOMAS.values()
@@ -240,8 +240,8 @@ def findvideos(item):
itemlist = servertools.get_servers_itemlist(itemlist, lambda x: x.title % x.server.capitalize()) itemlist = servertools.get_servers_itemlist(itemlist, lambda x: x.title % x.server.capitalize())
if __comprueba_enlaces__: if checklinks:
itemlist = servertools.check_list_links(itemlist, __comprueba_enlaces_num__) itemlist = servertools.check_list_links(itemlist, checklinks_number)
# Requerido para FilterTools # Requerido para FilterTools
+2 -2
View File
@@ -32,7 +32,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces", "id": "checklinks",
"type": "bool", "type": "bool",
"label": "Verifica se i link esistono", "label": "Verifica se i link esistono",
"default": false, "default": false,
@@ -40,7 +40,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces_num", "id": "checklinks_number",
"type": "list", "type": "list",
"label": "Numero de link da verificare", "label": "Numero de link da verificare",
"default": 1, "default": 1,
+4 -4
View File
@@ -20,8 +20,8 @@ list_language = IDIOMAS.values()
list_servers = ['diretto'] list_servers = ['diretto']
list_quality = [] list_quality = []
__comprueba_enlaces__ = config.get_setting('comprueba_enlaces', 'animeworld') checklinks = config.get_setting('checklinks', 'animeworld')
__comprueba_enlaces_num__ = config.get_setting('comprueba_enlaces_num', 'animeworld') checklinks_number = config.get_setting('checklinks_number', 'animeworld')
def mainlist(item): def mainlist(item):
@@ -398,8 +398,8 @@ def findvideos(item):
# Requerido para Filtrar enlaces # Requerido para Filtrar enlaces
if __comprueba_enlaces__: if checklinks:
itemlist = servertools.check_list_links(itemlist, __comprueba_enlaces_num__) itemlist = servertools.check_list_links(itemlist, checklinks_number)
# Requerido para FilterTools # Requerido para FilterTools
+2 -2
View File
@@ -41,7 +41,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces", "id": "checklinks",
"type": "bool", "type": "bool",
"label": "Verifica se i link esistono", "label": "Verifica se i link esistono",
"default": false, "default": false,
@@ -49,7 +49,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces_num", "id": "checklinks_number",
"type": "list", "type": "list",
"label": "Numero de link da verificare", "label": "Numero de link da verificare",
"default": 1, "default": 1,
+4 -4
View File
@@ -15,8 +15,8 @@ list_language = IDIOMAS.values()
list_servers = ['verystream', 'openload', 'wstream', 'speedvideo'] list_servers = ['verystream', 'openload', 'wstream', 'speedvideo']
list_quality = ['1080p', '720', '480p', '360p'] list_quality = ['1080p', '720', '480p', '360p']
__comprueba_enlaces__ = config.get_setting('comprueba_enlaces', 'casacinema') checklinks = config.get_setting('checklinks', 'casacinema')
__comprueba_enlaces_num__ = config.get_setting('comprueba_enlaces_num', 'casacinema') checklinks_number = config.get_setting('checklinks_number', 'casacinema')
def mainlist(item): def mainlist(item):
@@ -142,8 +142,8 @@ def findvideos(item):
# Requerido para Filtrar enlaces # Requerido para Filtrar enlaces
if __comprueba_enlaces__: if checklinks:
itemlist = servertools.check_list_links(itemlist, __comprueba_enlaces_num__) itemlist = servertools.check_list_links(itemlist, checklinks_number)
# Requerido para AutoPlay # Requerido para AutoPlay
+2 -2
View File
@@ -33,7 +33,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces", "id": "checklinks",
"type": "bool", "type": "bool",
"label": "Verifica se i link esistono", "label": "Verifica se i link esistono",
"default": false, "default": false,
@@ -41,7 +41,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces_num", "id": "checklinks_number",
"type": "list", "type": "list",
"label": "Numero di link da verificare", "label": "Numero di link da verificare",
"default": 1, "default": 1,
+5 -4
View File
@@ -27,8 +27,8 @@ list_language = IDIOMAS.values()
list_servers = ['verystream', 'openload', 'streamango', 'wstream'] list_servers = ['verystream', 'openload', 'streamango', 'wstream']
list_quality = ['HD', 'default'] list_quality = ['HD', 'default']
__comprueba_enlaces__ = config.get_setting('comprueba_enlaces', 'cineblog01') checklinks = config.get_setting('checklinks', 'cineblog01')
__comprueba_enlaces_num__ = config.get_setting('comprueba_enlaces_num', 'cineblog01') checklinks_number = config.get_setting('checklinks_number', 'cineblog01')
# esclusione degli articoli 'di servizio' # esclusione degli articoli 'di servizio'
blacklist = ['BENVENUTI', 'Richieste Serie TV', 'CB01.UNO &#x25b6; TROVA L&#8217;INDIRIZZO UFFICIALE ', blacklist = ['BENVENUTI', 'Richieste Serie TV', 'CB01.UNO &#x25b6; TROVA L&#8217;INDIRIZZO UFFICIALE ',
@@ -105,6 +105,7 @@ def newest(categoria):
findhost() findhost()
itemlist = [] itemlist = []
item = Item() item = Item()
item.contentType = 'movie'
item.url = host + '/lista-film-ultimi-100-film-aggiunti/' item.url = host + '/lista-film-ultimi-100-film-aggiunti/'
return support.scrape(item, r'<a href=([^>]+)>([^<([]+)(?:\[([A-Z]+)\])?\s\(([0-9]{4})\)<\/a>', return support.scrape(item, r'<a href=([^>]+)>([^<([]+)(?:\[([A-Z]+)\])?\s\(([0-9]{4})\)<\/a>',
['url', 'title', 'quality', 'year'], ['url', 'title', 'quality', 'year'],
@@ -280,8 +281,8 @@ def findvideos(item):
# Requerido para Filtrar enlaces # Requerido para Filtrar enlaces
if __comprueba_enlaces__: if checklinks:
itemlist = servertools.check_list_links(itemlist, __comprueba_enlaces_num__) itemlist = servertools.check_list_links(itemlist, checklinks_number)
# Requerido para FilterTools # Requerido para FilterTools
+2 -2
View File
@@ -49,7 +49,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces", "id": "checklinks",
"type": "bool", "type": "bool",
"label": "Verifica se i link esistono", "label": "Verifica se i link esistono",
"default": false, "default": false,
@@ -57,7 +57,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces_num", "id": "checklinks_number",
"type": "list", "type": "list",
"label": "Numero de link da verificare", "label": "Numero de link da verificare",
"default": 1, "default": 1,
+4 -4
View File
@@ -19,8 +19,8 @@ list_servers = ['akstream', 'wstream', 'openload', 'streamango']
list_quality = ['default'] list_quality = ['default']
# Necessario per Verifica Link # Necessario per Verifica Link
__comprueba_enlaces__ = config.get_setting('comprueba_enlaces', 'cinemalibero') checklinks = config.get_setting('checklinks', 'cinemalibero')
__comprueba_enlaces_num__ = config.get_setting('comprueba_enlaces_num', 'cinemalibero') checklinks_number = config.get_setting('checklinks_number', 'cinemalibero')
host = 'https://www.cinemalibero.icu' host = 'https://www.cinemalibero.icu'
@@ -219,8 +219,8 @@ def findvideos(item): # Questa def. deve sempre essere nominata findvideos
action='add_pelicula_to_library', extra='findservers', contentTitle=item.contentTitle)) action='add_pelicula_to_library', extra='findservers', contentTitle=item.contentTitle))
# Necessario per filtrare i Link # Necessario per filtrare i Link
if __comprueba_enlaces__: if checklinks:
itemlist = servertools.check_list_links(itemlist, __comprueba_enlaces_num__) itemlist = servertools.check_list_links(itemlist, checklinks_number)
# Necessario per FilterTools # Necessario per FilterTools
# itemlist = filtertools.get_links(itemlist, item, list_language) # itemlist = filtertools.get_links(itemlist, item, list_language)
+2 -2
View File
@@ -42,7 +42,7 @@
}, },
{ {
"id": "comprueba_enlaces", "id": "checklinks",
"type": "bool", "type": "bool",
"label": "Verifica se i link esistono", "label": "Verifica se i link esistono",
"default": false, "default": false,
@@ -50,7 +50,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces_num", "id": "checklinks_number",
"type": "list", "type": "list",
"label": "Numero de link da verificare", "label": "Numero de link da verificare",
"default": 1, "default": 1,
+41
View File
@@ -16,6 +16,14 @@
"enabled": true, "enabled": true,
"visible": true "visible": true
}, },
{
"id": "modo_grafico",
"type": "bool",
"label": "Cerca informazioni extra",
"default": true,
"enabled": true,
"visible": true
},
{ {
"id": "include_in_newest_series", "id": "include_in_newest_series",
"type": "bool", "type": "bool",
@@ -32,6 +40,23 @@
"enabled": true, "enabled": true,
"visible": true "visible": true
}, },
{
"id": "checklinks",
"type": "bool",
"label": "Verifica se i link esistono",
"default": true,
"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", "id": "filter_languages",
"type": "list", "type": "list",
@@ -45,5 +70,21 @@
"vosi" "vosi"
] ]
}, },
{
"id": "perfil",
"type": "list",
"label": "profilo dei colori",
"default": 0,
"enabled": true,
"visible": true,
"lvalues": [
"Sin color",
"Perfil 5",
"Perfil 4",
"Perfil 3",
"Perfil 2",
"Perfil 1"
]
}
] ]
} }
+2 -2
View File
@@ -30,8 +30,8 @@ list_language = IDIOMAS.values()
list_servers = ['verystream', 'wstream', 'speedvideo', 'flashx', 'nowvideo', 'streamango', 'deltabit', 'openload'] list_servers = ['verystream', 'wstream', 'speedvideo', 'flashx', 'nowvideo', 'streamango', 'deltabit', 'openload']
list_quality = ['default'] list_quality = ['default']
__comprueba_enlaces__ = config.get_setting('comprueba_enlaces', 'eurostreaming') checklinks = config.get_setting('checklinks', 'eurostreaming')
__comprueba_enlaces_num__ = config.get_setting('comprueba_enlaces_num', 'eurostreaming') checklinks_number = config.get_setting('checklinks_number', 'eurostreaming')
def mainlist(item): def mainlist(item):
support.log() support.log()
+4 -4
View File
@@ -4,8 +4,8 @@
"language": ["ita"], "language": ["ita"],
"active": true, "active": true,
"adult": false, "adult": false,
"thumbnail": "http://fastsubita.com/wp-content/uploads/2017/10/Untitled-222255xxx.jpg", "thumbnail": "fastsubita.png",
"banner": "http://fastsubita.com/wp-content/uploads/2017/10/Untitled-222255xxx.jpg", "banner": "fastsubita.png",
"categories": ["tvshow", "vosi"], "categories": ["tvshow", "vosi"],
"settings": [ "settings": [
{ {
@@ -41,7 +41,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces", "id": "checklinks",
"type": "bool", "type": "bool",
"label": "Verifica se i link esistono", "label": "Verifica se i link esistono",
"default": false, "default": false,
@@ -49,7 +49,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces_num", "id": "checklinks_number",
"type": "list", "type": "list",
"label": "Numero de link da verificare", "label": "Numero de link da verificare",
"default": 1, "default": 1,
+18 -10
View File
@@ -6,7 +6,8 @@
import re import re
from core import scrapertools, httptools, tmdb import channelselector
from core import scrapertools, httptools, tmdb, support
from core.item import Item from core.item import Item
from platformcode import config, logger from platformcode import config, logger
from specials import autoplay from specials import autoplay
@@ -18,8 +19,8 @@ list_language = IDIOMAS.values()
list_servers = ['verystream', 'openload', 'speedvideo', 'wstream', 'flashx', 'vidoza', 'vidtome'] list_servers = ['verystream', 'openload', 'speedvideo', 'wstream', 'flashx', 'vidoza', 'vidtome']
list_quality = ['default'] list_quality = ['default']
# __comprueba_enlaces__ = config.get_setting('comprueba_enlaces', 'fastsubita') # checklinks = config.get_setting('checklinks', 'fastsubita')
# __comprueba_enlaces_num__ = config.get_setting('comprueba_enlaces_num', 'fastsubita') # checklinks_number = config.get_setting('checklinks_number', 'fastsubita')
headers = [ headers = [
['Host', 'fastsubita.com'], ['Host', 'fastsubita.com'],
@@ -44,8 +45,8 @@ def mainlist(item):
support.menu(itemlist, 'Serie TV bold', 'lista_serie', host,'tvshow') support.menu(itemlist, 'Serie TV bold', 'lista_serie', host,'tvshow')
support.menu(itemlist, 'Novità submenu', 'pelicuals_tv', host,'tvshow') support.menu(itemlist, 'Novità submenu', 'pelicuals_tv', host,'tvshow')
support.menu(itemlist, 'Archivio A-Z submenu', 'list_az', host,'tvshow',args=['serie']) support.menu(itemlist, 'Archivio A-Z submenu', 'list_az', host,'tvshow',args=['serie'])
support.menu(itemlist, 'Cerca', 'search', host,'tvshow') support.menu(itemlist, 'Cerca', 'search', host,'tvshow')
autoplay.init(item.channel, list_servers, list_quality) autoplay.init(item.channel, list_servers, list_quality)
autoplay.show_option(item.channel, itemlist) autoplay.show_option(item.channel, itemlist)
@@ -113,24 +114,31 @@ def pelicuals_tv(item):
episode = scrapertools.find_multiple_matches(scrapedtitle, r'((\d*)x(\d*))')[0] episode = scrapertools.find_multiple_matches(scrapedtitle, r'((\d*)x(\d*))')[0]
scrapedtitle = scrapedtitle.replace(scraped_1, "") scrapedtitle = scrapedtitle.replace(scraped_1, "")
infoLabels = {}
infoLabels['season'] = episode[1]
infoLabels['episode'] = episode[2]
if "http:" in scrapedurl: if "http:" in scrapedurl:
scrapedurl = scrapedurl scrapedurl = scrapedurl
else: else:
scrapedurl = "http:" + scrapedurl scrapedurl = "http:" + scrapedurl
title = scraped_1+" - "+infoLabels['season']+"x"+infoLabels['episode']+" Sub-ITA"
itemlist.append( itemlist.append(
Item(channel=item.channel, Item(channel=item.channel,
action="findvideos", action="findvideos",
contentTpye="tvshow", contentTpye="tvshow",
title=scraped_1 + " " + scrapedtitle, title=title,
fulltitle=scraped_1 + " " + scrapedtitle, fulltitle=title,
url=scrapedurl, url=scrapedurl,
thumbnail=scrapedthumbnail, thumbnail=scrapedthumbnail,
plot=scrapedplot, plot=scrapedplot,
show=scraped_1, show=scraped_1,
extra=item.extra, extra=item.extra,
contentSerieName=scraped_1+" ("+episode[0]+" Sub-Ita)", contentSerieName=scraped_1,
contentLanguage='Sub-ITA',
infoLabels=infoLabels,
folder=True)) folder=True))
tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True)
@@ -277,8 +285,8 @@ def findvideos(item):
# #
# # Requerido para Filtrar enlaces # # Requerido para Filtrar enlaces
# #
# if __comprueba_enlaces__: # if checklinks:
# itemlist = servertools.check_list_links(itemlist, __comprueba_enlaces_num__) # itemlist = servertools.check_list_links(itemlist, checklinks_number)
# #
# # Requerido para FilterTools # # Requerido para FilterTools
# #
@@ -380,7 +388,7 @@ def episodios(item,itemlist = []):
infoLabels = {} infoLabels = {}
infoLabels['season'] = season infoLabels['season'] = season
infoLabels['episode'] = episode[2] infoLabels['episode'] = episode[2]
title = infoLabels['season']+'x'+infoLabels['episode'] title = infoLabels['season']+'x'+infoLabels['episode']+" Sub-ITA"
if "http:" not in scrapedurl: if "http:" not in scrapedurl:
scrapedurl = "http:" + scrapedurl scrapedurl = "http:" + scrapedurl
+2 -2
View File
@@ -41,7 +41,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces", "id": "checklinks",
"type": "bool", "type": "bool",
"label": "Verifica se i link esistono", "label": "Verifica se i link esistono",
"default": false, "default": false,
@@ -49,7 +49,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces_num", "id": "checklinks_number",
"type": "list", "type": "list",
"label": "Numero de link da verificare", "label": "Numero de link da verificare",
"default": 1, "default": 1,
+2 -2
View File
@@ -18,8 +18,8 @@ list_language = IDIOMAS.values()
list_servers = ['openload', 'streamango', 'vidoza', 'okru'] list_servers = ['openload', 'streamango', 'vidoza', 'okru']
list_quality = ['1080p', '720p', '480p', '360'] list_quality = ['1080p', '720p', '480p', '360']
__comprueba_enlaces__ = config.get_setting('comprueba_enlaces', 'filmigratis') checklinks = config.get_setting('checklinks', 'filmigratis')
__comprueba_enlaces_num__ = config.get_setting('comprueba_enlaces_num', 'filmigratis') checklinks_number = config.get_setting('checklinks_number', 'filmigratis')
headers = [['Referer', host]] headers = [['Referer', host]]
+2 -2
View File
@@ -41,7 +41,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces", "id": "checklinks",
"type": "bool", "type": "bool",
"label": "Verifica se i link esistono", "label": "Verifica se i link esistono",
"default": false, "default": false,
@@ -49,7 +49,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces_num", "id": "checklinks_number",
"type": "list", "type": "list",
"label": "Numero de link da verificare", "label": "Numero de link da verificare",
"default": 1, "default": 1,
+4 -4
View File
@@ -19,8 +19,8 @@ list_language = IDIOMAS.values()
list_servers = ['verystream', 'openload', 'streamango', 'vidoza', 'okru'] list_servers = ['verystream', 'openload', 'streamango', 'vidoza', 'okru']
list_quality = ['1080p', '720p', '480p', '360'] list_quality = ['1080p', '720p', '480p', '360']
__comprueba_enlaces__ = config.get_setting('comprueba_enlaces', 'filmsenzalimiti') checklinks = config.get_setting('checklinks', 'filmsenzalimiti')
__comprueba_enlaces_num__ = config.get_setting('comprueba_enlaces_num', 'filmsenzalimiti') checklinks_number = config.get_setting('checklinks_number', 'filmsenzalimiti')
headers = [['Referer', host]] headers = [['Referer', host]]
@@ -174,8 +174,8 @@ def findvideos(item):
action="add_pelicula_to_library", extra="findservers", contentTitle=item.contentTitle)) action="add_pelicula_to_library", extra="findservers", contentTitle=item.contentTitle))
#Necessario per filtrare i Link #Necessario per filtrare i Link
if __comprueba_enlaces__: if checklinks:
itemlist = servertools.check_list_links(itemlist, __comprueba_enlaces_num__) itemlist = servertools.check_list_links(itemlist, checklinks_number)
# Necessario per FilterTools # Necessario per FilterTools
# itemlist = filtertools.get_links(itemlist, item, list_language) # itemlist = filtertools.get_links(itemlist, item, list_language)
+2 -2
View File
@@ -41,7 +41,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces", "id": "checklinks",
"type": "bool", "type": "bool",
"label": "Verifica se i link esistono", "label": "Verifica se i link esistono",
"default": false, "default": false,
@@ -49,7 +49,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces_num", "id": "checklinks_number",
"type": "list", "type": "list",
"label": "Numero de link da verificare", "label": "Numero de link da verificare",
"default": 1, "default": 1,
+4 -4
View File
@@ -22,8 +22,8 @@ list_servers = ['verystream', 'openload', 'vidlox', 'youtube']
list_quality = ['default'] list_quality = ['default']
# Necessario per Verifica Link # Necessario per Verifica Link
__comprueba_enlaces__ = config.get_setting('comprueba_enlaces', 'filmsenzalimiticc') checklinks = config.get_setting('checklinks', 'filmsenzalimiticc')
__comprueba_enlaces_num__ = config.get_setting('comprueba_enlaces_num', 'filmsenzalimiticc') checklinks_number = config.get_setting('checklinks_number', 'filmsenzalimiticc')
host = 'https://filmsenzalimiti.pw' host = 'https://filmsenzalimiti.pw'
@@ -239,8 +239,8 @@ def findvideos(item): # Questa def. deve sempre essere nominata findvideos
action='add_pelicula_to_library', extra='findservers', contentTitle=item.contentTitle)) action='add_pelicula_to_library', extra='findservers', contentTitle=item.contentTitle))
# Necessario per filtrare i Link # Necessario per filtrare i Link
if __comprueba_enlaces__: if checklinks:
itemlist = servertools.check_list_links(itemlist, __comprueba_enlaces_num__) itemlist = servertools.check_list_links(itemlist, checklinks_number)
# Necessario per FilterTools # Necessario per FilterTools
# itemlist = filtertools.get_links(itemlist, item, list_language) # itemlist = filtertools.get_links(itemlist, item, list_language)
+2 -2
View File
@@ -49,7 +49,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces", "id": "checklinks",
"type": "bool", "type": "bool",
"label": "Verifica se i link esistono", "label": "Verifica se i link esistono",
"default": false, "default": false,
@@ -57,7 +57,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces_num", "id": "checklinks_number",
"type": "list", "type": "list",
"label": "Numero de link da verificare", "label": "Numero de link da verificare",
"default": 1, "default": 1,
+4 -4
View File
@@ -22,8 +22,8 @@ list_servers = ['verystream', 'openload', 'streamango', 'youtube']
list_quality = ['default'] list_quality = ['default']
__comprueba_enlaces__ = config.get_setting('comprueba_enlaces', 'ilgeniodellostreaming') checklinks = config.get_setting('checklinks', 'ilgeniodellostreaming')
__comprueba_enlaces_num__ = config.get_setting('comprueba_enlaces_num', 'ilgeniodellostreaming') checklinks_number = config.get_setting('checklinks_number', 'ilgeniodellostreaming')
headers = [['Referer', host]] headers = [['Referer', host]]
@@ -372,8 +372,8 @@ def findvideos(item):
# Requerido para Filtrar enlaces # Requerido para Filtrar enlaces
if __comprueba_enlaces__: if checklinks:
itemlist = servertools.check_list_links(itemlist, __comprueba_enlaces_num__) itemlist = servertools.check_list_links(itemlist, checklinks_number)
# Requerido para FilterTools # Requerido para FilterTools
+2 -2
View File
@@ -34,7 +34,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces", "id": "checklinks",
"type": "bool", "type": "bool",
"label": "Verifica se i link esistono", "label": "Verifica se i link esistono",
"default": false, "default": false,
@@ -42,7 +42,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces_num", "id": "checklinks_number",
"type": "list", "type": "list",
"label": "Numero di link da verificare", "label": "Numero di link da verificare",
"default": 1, "default": 1,
+4 -4
View File
@@ -17,8 +17,8 @@ list_language = IDIOMAS.values()
list_servers = ['verystream', 'openload', 'youtube'] list_servers = ['verystream', 'openload', 'youtube']
list_quality = ['default'] list_quality = ['default']
__comprueba_enlaces__ = config.get_setting('comprueba_enlaces', 'italiafilmhd') checklinks = config.get_setting('checklinks', 'italiafilmhd')
__comprueba_enlaces_num__ = config.get_setting('comprueba_enlaces_num', 'italiafilmhd') checklinks_number = config.get_setting('checklinks_number', 'italiafilmhd')
host = "https://italiafilm.network" host = "https://italiafilm.network"
@@ -296,8 +296,8 @@ def findvideos(item):
# Requerido para Filtrar enlaces # Requerido para Filtrar enlaces
if __comprueba_enlaces__: if checklinks:
itemlist = servertools.check_list_links(itemlist, __comprueba_enlaces_num__) itemlist = servertools.check_list_links(itemlist, checklinks_number)
# Requerido para FilterTools # Requerido para FilterTools
+2 -2
View File
@@ -41,7 +41,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces", "id": "checklinks",
"type": "bool", "type": "bool",
"label": "Verifica se i link esistono", "label": "Verifica se i link esistono",
"default": false, "default": false,
@@ -49,7 +49,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces_num", "id": "checklinks_number",
"type": "list", "type": "list",
"label": "Numero de link da verificare", "label": "Numero de link da verificare",
"default": 1, "default": 1,
+4 -4
View File
@@ -19,8 +19,8 @@ list_language = IDIOMAS.values()
list_servers = ['akstream'] list_servers = ['akstream']
list_quality = ['default'] list_quality = ['default']
__comprueba_enlaces__ = config.get_setting('comprueba_enlaces', 'mondoserietv') checklinks = config.get_setting('checklinks', 'mondoserietv')
__comprueba_enlaces_num__ = config.get_setting('comprueba_enlaces_num', 'mondoserietv') checklinks_number = config.get_setting('checklinks_number', 'mondoserietv')
headers = {'Referer': host} headers = {'Referer': host}
@@ -308,8 +308,8 @@ def findvideos(item):
# Requerido para Filtrar enlaces # Requerido para Filtrar enlaces
if __comprueba_enlaces__: if checklinks:
itemlist = servertools.check_list_links(itemlist, __comprueba_enlaces_num__) itemlist = servertools.check_list_links(itemlist, checklinks_number)
# Requerido para FilterTools # Requerido para FilterTools
+4 -4
View File
@@ -24,8 +24,8 @@ list_servers = ['speedvideo', 'openload', 'youtube']
list_quality = ['default'] list_quality = ['default']
__comprueba_enlaces__ = config.get_setting('comprueba_enlaces', 'piratestreaming') checklinks = config.get_setting('checklinks', 'piratestreaming')
__comprueba_enlaces_num__ = config.get_setting('comprueba_enlaces_num', 'piratestreaming') checklinks_number = config.get_setting('checklinks_number', 'piratestreaming')
headers = [['Referer', host]] headers = [['Referer', host]]
@@ -243,8 +243,8 @@ def findvideos(item):
# Requerido para Filtrar enlaces # Requerido para Filtrar enlaces
if __comprueba_enlaces__: if checklinks:
itemlist = servertools.check_list_links(itemlist, __comprueba_enlaces_num__) itemlist = servertools.check_list_links(itemlist, checklinks_number)
# Requerido para FilterTools # Requerido para FilterTools
+4 -4
View File
@@ -4,8 +4,8 @@
"active": true, "active": true,
"adult": false, "adult": false,
"language": ["ita"], "language": ["ita"],
"thumbnail": "https://raw.githubusercontent.com/Zanzibar82/images/master/posters/seriehd.png", "thumbnail": "seriehd.png",
"banner": "https://raw.githubusercontent.com/Zanzibar82/images/master/posters/seriehd.png", "banner": "seriehd.png",
"categories": ["tvshow"], "categories": ["tvshow"],
"settings": [ "settings": [
{ {
@@ -33,7 +33,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces", "id": "checklinks",
"type": "bool", "type": "bool",
"label": "Verifica se i link esistono", "label": "Verifica se i link esistono",
"default": false, "default": false,
@@ -41,7 +41,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces_num", "id": "checklinks_number",
"type": "list", "type": "list",
"label": "Numero de link da verificare", "label": "Numero de link da verificare",
"default": 1, "default": 1,
+4 -4
View File
@@ -18,8 +18,8 @@ list_language = IDIOMAS.values()
list_servers = ['verystream', 'openload', 'streamango', 'thevideome'] list_servers = ['verystream', 'openload', 'streamango', 'thevideome']
list_quality = ['1080p', '720p', '480p', '360'] list_quality = ['1080p', '720p', '480p', '360']
__comprueba_enlaces__ = config.get_setting('comprueba_enlaces', 'seriehd') checklinks = config.get_setting('checklinks', 'seriehd')
__comprueba_enlaces_num__ = config.get_setting('comprueba_enlaces_num', 'seriehd') checklinks_number = config.get_setting('checklinks_number', 'seriehd')
headers = [['Referer', host]] headers = [['Referer', host]]
@@ -137,8 +137,8 @@ def findvideos(item):
# Requerido para Filtrar enlaces # Requerido para Filtrar enlaces
if __comprueba_enlaces__: if checklinks:
itemlist = servertools.check_list_links(itemlist, __comprueba_enlaces_num__) itemlist = servertools.check_list_links(itemlist, checklinks_number)
# Requerido para FilterTools # Requerido para FilterTools
+4 -4
View File
@@ -4,8 +4,8 @@
"active": true, "active": true,
"adult": false, "adult": false,
"language": ["ita"], "language": ["ita"],
"thumbnail": "http://serietvsubita.xyz/wp-content/uploads/2012/07/logo.jpg", "thumbnail": "serietvsubita.png",
"banner": "http://serietvsubita.xyz/wp-content/uploads/2012/07/logo.jpg", "banner": "serietvsubita.png",
"categories": ["tvshow"], "categories": ["tvshow"],
"settings": [ "settings": [
{ {
@@ -41,7 +41,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces", "id": "checklinks",
"type": "bool", "type": "bool",
"label": "Verifica se i link esistono", "label": "Verifica se i link esistono",
"default": false, "default": false,
@@ -49,7 +49,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces_num", "id": "checklinks_number",
"type": "list", "type": "list",
"label": "Numero de link da verificare", "label": "Numero de link da verificare",
"default": 1, "default": 1,
+13 -9
View File
@@ -21,8 +21,8 @@ list_language = IDIOMAS.values()
list_servers = ['gounlimited','verystream','streamango','openload'] list_servers = ['gounlimited','verystream','streamango','openload']
list_quality = ['default'] list_quality = ['default']
# __comprueba_enlaces__ = config.get_setting('comprueba_enlaces', __channel__) # checklinks = config.get_setting('checklinks', __channel__)
# __comprueba_enlaces_num__ = config.get_setting('comprueba_enlaces_num', __channel__) # checklinks_number = config.get_setting('checklinks_number', __channel__)
def mainlist(item): def mainlist(item):
@@ -52,7 +52,7 @@ def mainlist(item):
# ---------------------------------------------------------------------------------------------------------------- # ----------------------------------------------------------------------------------------------------------------
def cleantitle(scrapedtitle): def cleantitle(scrapedtitle):
scrapedtitle = scrapertools.decodeHtmlentities(scrapedtitle.strip()) scrapedtitle = scrapertools.decodeHtmlentities(scrapedtitle.strip())
scrapedtitle = scrapedtitle.replace('[HD]', '').replace('', '\'').replace('×','x').replace('Game of Thrones ','') scrapedtitle = scrapedtitle.replace('[HD]', '').replace('', '\'').replace('×','x').replace('Game of Thrones ','').replace('In The Dark 2019','In The Dark (2019)').strip()
year = scrapertools.find_single_match(scrapedtitle, '\((\d{4})\)') year = scrapertools.find_single_match(scrapedtitle, '\((\d{4})\)')
if year: if year:
scrapedtitle = scrapedtitle.replace('(' + year + ')', '') scrapedtitle = scrapedtitle.replace('(' + year + ')', '')
@@ -195,7 +195,7 @@ def episodios(item, itemlist=[]):
infoLabels = {} infoLabels = {}
infoLabels['season'] = season infoLabels['season'] = season
infoLabels['episode'] = episode infoLabels['episode'] = episode
fullepisode+=' Sub-ITA'
itemlist.append( itemlist.append(
Item(channel=item.channel, Item(channel=item.channel,
extra=item.extra, extra=item.extra,
@@ -264,8 +264,8 @@ def findvideos(item):
# Controlla se i link sono validi # Controlla se i link sono validi
# if __comprueba_enlaces__: # if checklinks:
# itemlist = servertools.check_list_links(itemlist, __comprueba_enlaces_num__) # itemlist = servertools.check_list_links(itemlist, checklinks_number)
# #
# autoplay.start(itemlist, item) # autoplay.start(itemlist, item)
@@ -293,23 +293,27 @@ def peliculas_tv(item):
scrapedthumbnail = "" scrapedthumbnail = ""
scrapedplot = "" scrapedplot = ""
scrapedtitle = cleantitle(scrapedtitle) scrapedtitle = cleantitle(scrapedtitle)
infoLabels = {}
episode = scrapertools.find_multiple_matches(scrapedtitle, r'((\d*)x(\d*))')[0] episode = scrapertools.find_multiple_matches(scrapedtitle, r'((\d*)x(\d*))')[0]
title = scrapedtitle.split(" S0")[0].strip() title = scrapedtitle.split(" S0")[0].strip()
title = title.split(" S1")[0].strip() title = title.split(" S1")[0].strip()
title = title.split(" S2")[0].strip() title = title.split(" S2")[0].strip()
infoLabels['season'] = episode[1]
infoLabels['episode'] = episode[2]
itemlist.append( itemlist.append(
Item(channel=item.channel, Item(channel=item.channel,
action="findvideos", action="findvideos",
fulltitle=scrapedtitle, fulltitle=scrapedtitle,
show=scrapedtitle, show=scrapedtitle,
title=scrapedtitle, title=title+" - "+episode[0]+" Sub-ITA",
url=scrapedurl, url=scrapedurl,
thumbnail=scrapedthumbnail, thumbnail=scrapedthumbnail,
contentSerieName=title+" ("+episode[0]+" Sub-Ita)", contentSerieName=title,
contentLanguage='Sub-ITA',
plot=scrapedplot, plot=scrapedplot,
infoLabels=infoLabels,
folder=True)) folder=True))
tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True)
+4 -4
View File
@@ -4,8 +4,8 @@
"active": true, "active": true,
"adult": false, "adult": false,
"language": ["ita"], "language": ["ita"],
"thumbnail": "https://www.serietvu.club/wp-content/themes/gurarjbar/images/logo.png", "thumbnail": "serietvu.png",
"banner": "https://www.serietvu.club/wp-content/themes/gurarjbar/images/logo.png", "banner": "serietvu.png",
"categories": ["tvshow"], "categories": ["tvshow"],
"settings": [ "settings": [
{ {
@@ -41,7 +41,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces", "id": "checklinks",
"type": "bool", "type": "bool",
"label": "Verifica se i link esistono", "label": "Verifica se i link esistono",
"default": false, "default": false,
@@ -49,7 +49,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces_num", "id": "checklinks_number",
"type": "list", "type": "list",
"label": "Numero de link da verificare", "label": "Numero de link da verificare",
"default": 1, "default": 1,
+73 -14
View File
@@ -20,8 +20,8 @@ list_language = IDIOMAS.values()
list_servers = ['speedvideo'] list_servers = ['speedvideo']
list_quality = ['default'] list_quality = ['default']
# __comprueba_enlaces__ = config.get_setting('comprueba_enlaces', __channel__) # checklinks = config.get_setting('checklinks', __channel__)
# __comprueba_enlaces_num__ = config.get_setting('comprueba_enlaces_num', __channel__) # checklinks_number = config.get_setting('checklinks_number', __channel__)
@@ -52,7 +52,7 @@ def mainlist(item):
# ---------------------------------------------------------------------------------------------------------------- # ----------------------------------------------------------------------------------------------------------------
def cleantitle(scrapedtitle): def cleantitle(scrapedtitle):
scrapedtitle = scrapertools.decodeHtmlentities(scrapedtitle.strip()) scrapedtitle = scrapertools.decodeHtmlentities(scrapedtitle.strip())
scrapedtitle = scrapedtitle.replace('[HD]', '').replace('', '\'').replace('Game of Thrones ','').replace('Flash 2014','Flash') scrapedtitle = scrapedtitle.replace('[HD]', '').replace('', '\'').replace(' Il Trono di Spade','').replace('Flash 2014','Flash')
year = scrapertools.find_single_match(scrapedtitle, '\((\d{4})\)') year = scrapertools.find_single_match(scrapedtitle, '\((\d{4})\)')
if year: if year:
scrapedtitle = scrapedtitle.replace('(' + year + ')', '') scrapedtitle = scrapedtitle.replace('(' + year + ')', '')
@@ -121,10 +121,14 @@ def episodios(item):
matches = re.compile(patron, re.DOTALL).findall(blocco) matches = re.compile(patron, re.DOTALL).findall(blocco)
for scrapedextra, scrapedurl, scrapedimg, scrapedtitle in matches: for scrapedextra, scrapedurl, scrapedimg, scrapedtitle in matches:
number = scrapertools.decodeHtmlentities(scrapedtitle.replace("Episodio", "")).strip() number = scrapertools.decodeHtmlentities(scrapedtitle.replace("Episodio", "")).strip()
title = value + "x" + number.zfill(2)
itemlist.append( itemlist.append(
Item(channel=item.channel, Item(channel=item.channel,
action="findvideos", action="findvideos",
title=value + "x" + number.zfill(2), title=title,
fulltitle=scrapedtitle, fulltitle=scrapedtitle,
contentType="episode", contentType="episode",
url=scrapedurl, url=scrapedurl,
@@ -145,11 +149,12 @@ def findvideos(item):
support.log(item.channel + " findvideos") support.log(item.channel + " findvideos")
itemlist = support.server(item, data=item.url) itemlist = support.server(item, data=item.url)
# itemlist = filtertools.get_links(itemlist, item, list_language) # itemlist = filtertools.get_links(itemlist, item, list_language)
# Controlla se i link sono validi # Controlla se i link sono validi
# if __comprueba_enlaces__: # if checklinks:
# itemlist = servertools.check_list_links(itemlist, __comprueba_enlaces_num__) # itemlist = servertools.check_list_links(itemlist, checklinks_number)
# #
# autoplay.start(itemlist, item) # autoplay.start(itemlist, item)
@@ -177,8 +182,8 @@ def findepisodevideo(item):
# itemlist = filtertools.get_links(itemlist, item, list_language) # itemlist = filtertools.get_links(itemlist, item, list_language)
# Controlla se i link sono validi # Controlla se i link sono validi
# if __comprueba_enlaces__: # if checklinks:
# itemlist = servertools.check_list_links(itemlist, __comprueba_enlaces_num__) # itemlist = servertools.check_list_links(itemlist, checklinks_number)
# #
# autoplay.start(itemlist, item) # autoplay.start(itemlist, item)
@@ -192,6 +197,45 @@ def findepisodevideo(item):
def latestep(item): def latestep(item):
support.log(item.channel + " latestep") support.log(item.channel + " latestep")
itemlist = [] itemlist = []
titles = []
#recupero gli episodi in home nella sezione Ultimi episodi aggiunti
data = httptools.downloadpage(host, headers=headers).data
block = scrapertools.find_single_match(data,r"Ultimi episodi aggiunti.*?<h2>")
regex = r'<a href="([^"]*)"\sdata-src="([^"]*)"\sclass="owl-lazy.*?".*?class="title">(.*?)<small>\((\d*?)x(\d*?)\s(Sub-Ita|Ita)'
matches = re.compile(regex, re.DOTALL).findall(block)
for scrapedurl, scrapedimg, scrapedtitle, scrapedseason, scrapedepisode, scrapedlanguage in matches:
infoLabels = {}
year = scrapertools.find_single_match(scrapedtitle, '\((\d{4})\)')
if year:
infoLabels['year'] = year
infoLabels['episode'] = scrapedepisode
infoLabels['season'] = scrapedseason
episode = scrapedseason+"x"+scrapedepisode
scrapedtitle = cleantitle(scrapedtitle)
title = scrapedtitle+" - "+episode
contentlanguage = ""
if scrapedlanguage.strip().lower() != 'ita':
title +=" Sub-ITA"
contentlanguage = 'Sub-ITA'
titles.append(title)
itemlist.append(
Item(channel=item.channel,
action="findepisodevideo",
title=title,
fulltitle=title,
url=scrapedurl,
extra=[[scrapedseason,scrapedepisode]],
thumbnail=scrapedimg,
contentSerieName=scrapedtitle,
contentLanguage=contentlanguage,
contentType='episode',
infoLabels=infoLabels,
folder=True))
data = httptools.downloadpage(item.url, headers=headers).data data = httptools.downloadpage(item.url, headers=headers).data
@@ -209,23 +253,38 @@ def latestep(item):
infoLabels['tvshowtitle'] = scrapedtitle infoLabels['tvshowtitle'] = scrapedtitle
episodio = re.compile(r'(\d+)x(\d+)', re.DOTALL).findall(scrapedinfo) episodio = re.compile(r'(\d+)x(\d+)', re.DOTALL).findall(scrapedinfo)
title = "%s %s" % (scrapedtitle, scrapedinfo) infoLabels['episode'] = episodio[0][1]
infoLabels['season'] = episodio[0][0]
episode = infoLabels['season'] + "x" + infoLabels['episode']
title = "%s - %s" % (scrapedtitle, episode)
title = title.strip()
contentlanguage = ""
if 'sub-ita' in scrapedinfo.lower():
title+=" Sub-ITA"
contentlanguage = 'Sub-ITA'
if title in titles: continue
itemlist.append( itemlist.append(
Item(channel=item.channel, Item(channel=item.channel,
action="findepisodevideo", action="findepisodevideo",
title=title, title=title,
fulltitle=scrapedtitle, fulltitle=title,
url=scrapedurl, url=scrapedurl,
extra=episodio, extra=episodio,
thumbnail=scrapedimg, thumbnail=scrapedimg,
show=scrapedtitle, contentSerieName=scrapedtitle,
contentTitle=scrapedtitle, contentLanguage=contentlanguage,
contentSerieName=title,
infoLabels=infoLabels, infoLabels=infoLabels,
contentType='episode',
folder=True)) folder=True))
tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True)
# logger.debug("".join(map(str,itemlist)))
return itemlist return itemlist
@@ -290,7 +349,7 @@ def categorie(item):
Item(channel=item.channel, Item(channel=item.channel,
action="lista_serie", action="lista_serie",
title=scrapedtitle, title=scrapedtitle,
contentType="tv", contentType="tvshow",
url="%s%s" % (host, scrapedurl), url="%s%s" % (host, scrapedurl),
thumbnail=item.thumbnail, thumbnail=item.thumbnail,
folder=True)) folder=True))
+2 -2
View File
@@ -34,7 +34,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces", "id": "checklinks",
"type": "bool", "type": "bool",
"label": "Verifica se i link esistono", "label": "Verifica se i link esistono",
"default": false, "default": false,
@@ -42,7 +42,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces_num", "id": "checklinks_number",
"type": "list", "type": "list",
"label": "Numero di link da verificare", "label": "Numero di link da verificare",
"default": 1, "default": 1,
+2 -2
View File
@@ -33,7 +33,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces", "id": "checklinks",
"type": "bool", "type": "bool",
"label": "Verifica se i link esistono", "label": "Verifica se i link esistono",
"default": false, "default": false,
@@ -41,7 +41,7 @@
"visible": true "visible": true
}, },
{ {
"id": "comprueba_enlaces_num", "id": "checklinks_number",
"type": "list", "type": "list",
"label": "Numero di link da verificare", "label": "Numero di link da verificare",
"default": 1, "default": 1,
+2 -4
View File
@@ -42,8 +42,7 @@ def get_channel_parameters(channel_name):
channel_parameters["language"] = channel_parameters.get("language", ["all"]) channel_parameters["language"] = channel_parameters.get("language", ["all"])
channel_parameters["adult"] = channel_parameters.get("adult", False) channel_parameters["adult"] = channel_parameters.get("adult", False)
channel_parameters["active"] = channel_parameters.get("active", False) channel_parameters["active"] = channel_parameters.get("active", False)
channel_parameters["include_in_global_search"] = channel_parameters.get("include_in_global_search", channel_parameters["include_in_global_search"] = channel_parameters.get("include_in_global_search", False)
False)
channel_parameters["categories"] = channel_parameters.get("categories", list()) channel_parameters["categories"] = channel_parameters.get("categories", list())
channel_parameters["thumbnail"] = channel_parameters.get("thumbnail", "") channel_parameters["thumbnail"] = channel_parameters.get("thumbnail", "")
@@ -87,8 +86,7 @@ def get_channel_parameters(channel_name):
channel_parameters["include_in_global_search"] = True channel_parameters["include_in_global_search"] = True
elif s['id'] == "filter_languages": elif s['id'] == "filter_languages":
channel_parameters["filter_languages"] = s.get('lvalues',[]) channel_parameters["filter_languages"] = s.get('lvalues',[])
elif not s['id'].startswith("include_in_") and \ elif s['id'].startswith("include_in_"):
(s.get('enabled', False) or s.get('visible', False)):
channel_parameters["has_settings"] = True channel_parameters["has_settings"] = True
del channel_parameters['settings'] del channel_parameters['settings']
+4
View File
@@ -365,6 +365,9 @@ def get_season_and_episode(title):
@return: Numero de temporada y episodio en formato "1x01" o cadena vacia si no se han encontrado @return: Numero de temporada y episodio en formato "1x01" o cadena vacia si no se han encontrado
""" """
filename = "" filename = ""
# 4l3x87 - fix for series example 9-1-1
# original_title = title
# title = title.replace('9-1-1','')
patrons = ["(\d+)\s*[x-]\s*(\d+)", "(\d+)\s*×\s*(\d+)", "(?:s|t)(\d+)e(\d+)", patrons = ["(\d+)\s*[x-]\s*(\d+)", "(\d+)\s*×\s*(\d+)", "(?:s|t)(\d+)e(\d+)",
"(?:season|temp|stagione\w*)\s*(\d+)\s*(?:capitulo|epi|episode|episodio\w*)\s*(\d+)"] "(?:season|temp|stagione\w*)\s*(\d+)\s*(?:capitulo|epi|episode|episodio\w*)\s*(\d+)"]
@@ -372,6 +375,7 @@ def get_season_and_episode(title):
for patron in patrons: for patron in patrons:
try: try:
matches = re.compile(patron, re.I).search(title) matches = re.compile(patron, re.I).search(title)
if matches: if matches:
if len(matches.group(1)) == 1: if len(matches.group(1)) == 1:
filename = matches.group(1) + "x" + matches.group(2).zfill(2) filename = matches.group(1) + "x" + matches.group(2).zfill(2)
+1 -28
View File
@@ -16,8 +16,6 @@ from platformcode import config, logger
from platformcode import platformtools from platformcode import platformtools
from servers.decrypters import zcrypt from servers.decrypters import zcrypt
from specials import autoplay # by greko
dict_servers_parameters = {} dict_servers_parameters = {}
@@ -35,7 +33,7 @@ def find_video_items(item=None, data=None):
@return: devuelve el itemlist con los resultados @return: devuelve el itemlist con los resultados
@rtype: list @rtype: list
""" """
logger.info("ITEM DATA : %s" % item) logger.info()
itemlist = [] itemlist = []
# Descarga la página # Descarga la página
@@ -60,29 +58,6 @@ def find_video_items(item=None, data=None):
itemlist.append( itemlist.append(
item.clone(title=title, action="play", url=url, thumbnail=thumbnail, server=server, folder=False)) item.clone(title=title, action="play", url=url, thumbnail=thumbnail, server=server, folder=False))
"""
fix by Greko inizio
Controllo su tutti i canali:
- se i link sono validi per tutti i canali
- autoplay
- aggiungi in videoteca
non c'è bisogno dei controlli nel file[.json, py] del canale
"""
itemlist = check_list_links(itemlist)
########## Da risolvere
# Per AutoPlay
autoplay.start(itemlist, item)
# Decommentare per la voce aggiungi alla videoteca di tutti i canali
# non funziona se il canale ha una def findvideos()
if item.extra != "library" and item.contentType != 'episode':
itemlist.append(Item(channel=item.channel, title="Aggiungi alla Videoteca",
action="add_pelicula_to_library", url=item.url,
contentTitle=item.contentTitle, infoLabels = item.infoLabels
))
# fix by Greko fine
return itemlist return itemlist
@@ -208,8 +183,6 @@ def findvideosbyserver(data, serverid):
devuelve.append(value) devuelve.append(value)
logger.info(msg) logger.info(msg)
return devuelve return devuelve
+29 -34
View File
@@ -61,15 +61,7 @@ def hdpass_get_servers(item):
url=url_decode(media_url))) url=url_decode(media_url)))
log("video -> ", res_video) log("video -> ", res_video)
__comprueba_enlaces__ = config.get_setting('comprueba_enlaces', item.channel) return controls(itemlist, item, AutoPlay=True, CheckLinks=True)
__comprueba_enlaces_num__ = config.get_setting('comprueba_enlaces_num', item.channel)
if __comprueba_enlaces__:
itemlist = servertools.check_list_links(itemlist, __comprueba_enlaces_num__)
if xbmcaddon.Addon('plugin.video.kod').getSetting('checklinks'):
itemlist = servertools.check_list_links(itemlist, xbmcaddon.Addon('plugin.video.kod').getSetting('checklinks_number'))
return itemlist
def url_decode(url_enc): def url_decode(url_enc):
@@ -141,7 +133,7 @@ def scrape(item, patron = '', listGroups = [], headers="", blacklist="", data=""
blocks = scrapertoolsV2.find_multiple_matches(block, regex) blocks = scrapertoolsV2.find_multiple_matches(block, regex)
block = "" block = ""
for b in blocks: for b in blocks:
block += "\n" + str(b) # by greko block += "\n" + b
log('BLOCK ', n, '=', block) log('BLOCK ', n, '=', block)
else: else:
block = data block = data
@@ -149,7 +141,7 @@ def scrape(item, patron = '', listGroups = [], headers="", blacklist="", data=""
matches = scrapertoolsV2.find_multiple_matches(block, patron) matches = scrapertoolsV2.find_multiple_matches(block, patron)
log('MATCHES =', matches) log('MATCHES =', matches)
known_keys = ['url', 'title', 'episode', 'thumb', 'quality', 'year', 'plot', 'duration', 'genere', 'rating', 'lang'] #by greko aggiunto episode + lang known_keys = ['url', 'title', 'episode', 'thumb', 'quality', 'year', 'plot', 'duration', 'genere', 'rating'] #by greko aggiunto episode
for match in matches: for match in matches:
if len(listGroups) > len(match): # to fix a bug if len(listGroups) > len(match): # to fix a bug
match = list(match) match = list(match)
@@ -165,19 +157,12 @@ def scrape(item, patron = '', listGroups = [], headers="", blacklist="", data=""
title = scrapertoolsV2.decodeHtmlentities(scraped["title"]).strip() title = scrapertoolsV2.decodeHtmlentities(scraped["title"]).strip()
plot = scrapertoolsV2.htmlclean(scrapertoolsV2.decodeHtmlentities(scraped["plot"])) plot = scrapertoolsV2.htmlclean(scrapertoolsV2.decodeHtmlentities(scraped["plot"]))
# modificato by Greko inizio if scraped["quality"] and scraped["episode"]: # by greko aggiunto episode
longtitle = '[B]' + title + '[/B] ' longtitle = '[B]' + title + '[/B] - [B]' + scraped["episode"] + '[/B][COLOR blue][' + scraped["quality"] + '][/COLOR]' # by greko aggiunto episode
if scraped["quality"]: elif scraped["episode"]: # by greko aggiunto episode
longtitle += '[COLOR blue][' + scraped["quality"] + '][/COLOR]'#'[B]' + title + '[/B] - [B]' + scraped["episode"] + '[/B][COLOR blue][' + scraped["quality"] + '][/COLOR]' # by greko aggiunto episode longtitle = '[B]' + title + '[/B] - [B]' + scraped["episode"] + '[/B]' # by greko aggiunto episode
if scraped["episode"]: else:
longtitle += '[B]' + scraped["episode"] + '[/B]'#'[B]' + title + '[/B] - [B]' + scraped["episode"] + '[/B]' longtitle = '[B]' + title + '[/B]'
if scraped["lang"]:
if 'sub' in scraped["lang"].lower():
lang = 'Sub-ITA'
else:
lang = 'ITA'
longtitle += '[COLOR blue][ ' + lang + ' ][/COLOR]'
# modificato by Greko fine
if item.infoLabels["title"] or item.fulltitle: # if title is set, probably this is a list of episodes or video sources if item.infoLabels["title"] or item.fulltitle: # if title is set, probably this is a list of episodes or video sources
infolabels = item.infoLabels infolabels = item.infoLabels
@@ -509,11 +494,6 @@ def nextPage(itemlist, item, data, patron, function_level=1):
def server(item, data='', headers='', AutoPlay=True, CheckLinks=True): def server(item, data='', headers='', AutoPlay=True, CheckLinks=True):
__comprueba_enlaces__ = config.get_setting('comprueba_enlaces', item.channel)
log(__comprueba_enlaces__ )
__comprueba_enlaces_num__ = config.get_setting('comprueba_enlaces_num', item.channel)
log(__comprueba_enlaces_num__ )
if not data: if not data:
data = httptools.downloadpage(item.url, headers=headers).data data = httptools.downloadpage(item.url, headers=headers).data
@@ -527,14 +507,29 @@ def server(item, data='', headers='', AutoPlay=True, CheckLinks=True):
videoitem.channel = item.channel videoitem.channel = item.channel
videoitem.contentType = item.contentType videoitem.contentType = item.contentType
if __comprueba_enlaces__ and CheckLinks: return controls(itemlist, item, AutoPlay, CheckLinks)
itemlist = servertools.check_list_links(itemlist, __comprueba_enlaces_num__)
if xbmcaddon.Addon('plugin.video.kod').getSetting('checklinks'): def controls(itemlist, item, AutoPlay=True, CheckLinks=True):
itemlist = servertools.check_list_links(itemlist, xbmcaddon.Addon('plugin.video.kod').getSetting('checklinks_number')) from core import jsontools
from platformcode.config import get_setting
CL = get_setting('checklinks') or get_setting('checklinks', item.channel)
autoplay_node = jsontools.get_node_from_file('autoplay', 'AUTOPLAY')
channel_node = autoplay_node.get(item.channel, {})
settings_node = channel_node.get('settings', {})
AP = get_setting('autoplay') or settings_node['active']
if CL and not AP:
if get_setting('checklinks', item.channel):
checklinks = get_setting('checklinks', item.channel)
else:
checklinks = get_setting('checklinks')
if get_setting('checklinks_number', item.channel):
checklinks_number = get_setting('checklinks_number', item.channel)
else:
checklinks_number = get_setting('checklinks_number')
itemlist = servertools.check_list_links(itemlist, checklinks_number)
if AutoPlay == True: if AutoPlay == True:
autoplay.start(itemlist, item) autoplay.start(itemlist, item)
return itemlist return itemlist
+16 -2
View File
@@ -324,8 +324,9 @@ def set_infoLabels_item(item, seekTmdb=True, idioma_busqueda=def_lang, lock=None
__leer_datos(otmdb_global) __leer_datos(otmdb_global)
if lock and lock.locked(): # 4l3x87 - fix for overlap infoLabels if there is episode or season
lock.release() # if lock and lock.locked():
# lock.release()
if item.infoLabels['episode']: if item.infoLabels['episode']:
try: try:
@@ -354,6 +355,10 @@ def set_infoLabels_item(item, seekTmdb=True, idioma_busqueda=def_lang, lock=None
item.infoLabels['rating'] = episodio['episodio_vote_average'] item.infoLabels['rating'] = episodio['episodio_vote_average']
item.infoLabels['votes'] = episodio['episodio_vote_count'] item.infoLabels['votes'] = episodio['episodio_vote_count']
# 4l3x87 - fix for overlap infoLabels if there is episode or season
if lock and lock.locked():
lock.release()
return len(item.infoLabels) return len(item.infoLabels)
else: else:
@@ -374,8 +379,17 @@ def set_infoLabels_item(item, seekTmdb=True, idioma_busqueda=def_lang, lock=None
if temporada['poster_path']: if temporada['poster_path']:
item.infoLabels['poster_path'] = 'http://image.tmdb.org/t/p/original' + temporada['poster_path'] item.infoLabels['poster_path'] = 'http://image.tmdb.org/t/p/original' + temporada['poster_path']
item.thumbnail = item.infoLabels['poster_path'] item.thumbnail = item.infoLabels['poster_path']
# 4l3x87 - fix for overlap infoLabels if there is episode or season
if lock and lock.locked():
lock.release()
return len(item.infoLabels) return len(item.infoLabels)
# 4l3x87 - fix for overlap infoLabels if there is episode or season
if lock and lock.locked():
lock.release()
# Buscar... # Buscar...
else: else:
otmdb = copy.copy(otmdb_global) otmdb = copy.copy(otmdb_global)
+1 -1
View File
@@ -65,7 +65,7 @@ def run(item=None):
item = Item(channel="channelselector", action="getmainlist", viewmode="movie") item = Item(channel="channelselector", action="getmainlist", viewmode="movie")
if not config.get_setting('show_once'): if not config.get_setting('show_once'):
from platformcode import xbmc_videolibrary from platformcode import xbmc_videolibrary
xbmc_videolibrary.ask_set_content(1) xbmc_videolibrary.ask_set_content(1, config.get_setting('videolibrary_kodi_force'))
config.set_setting('show_once', True) config.set_setting('show_once', True)
logger.info(item.tostring()) logger.info(item.tostring())
+15 -7
View File
@@ -535,12 +535,17 @@ def set_content(content_type, silent=False):
continuar = True continuar = True
msg_text = "" msg_text = ""
videolibrarypath = config.get_setting("videolibrarypath") videolibrarypath = config.get_setting("videolibrarypath")
forced = config.get_setting('videolibrary_kodi_force')
if content_type == 'movie': if content_type == 'movie':
scraper = [config.get_localized_string(70093), config.get_localized_string(70096)] scraper = [config.get_localized_string(70093), config.get_localized_string(70096)]
seleccion = platformtools.dialog_select(config.get_localized_string(70094), scraper) if forced:
seleccion = 0 # tmdb
else:
seleccion = platformtools.dialog_select(config.get_localized_string(70094), scraper)
# Instalar The Movie Database
# Instalar The Movie Database
if seleccion == -1 or seleccion == 0: if seleccion == -1 or seleccion == 0:
if not xbmc.getCondVisibility('System.HasAddon(metadata.themoviedb.org)'): if not xbmc.getCondVisibility('System.HasAddon(metadata.themoviedb.org)'):
if not silent: if not silent:
@@ -560,7 +565,7 @@ def set_content(content_type, silent=False):
continuar = (install and xbmc.getCondVisibility('System.HasAddon(metadata.themoviedb.org)')) continuar = (install and xbmc.getCondVisibility('System.HasAddon(metadata.themoviedb.org)'))
if not continuar: if not continuar:
msg_text = config.get_localized_string(60047) msg_text = config.get_localized_string(60047)
if continuar: if continuar and not forced:
xbmc.executebuiltin('xbmc.addon.opensettings(metadata.themoviedb.org)', True) xbmc.executebuiltin('xbmc.addon.opensettings(metadata.themoviedb.org)', True)
# Instalar Universal Movie Scraper # Instalar Universal Movie Scraper
@@ -584,12 +589,15 @@ def set_content(content_type, silent=False):
continuar = (install and continuar) continuar = (install and continuar)
if not continuar: if not continuar:
msg_text = config.get_localized_string(70097) msg_text = config.get_localized_string(70097)
if continuar: if continuar and not forced:
xbmc.executebuiltin('xbmc.addon.opensettings(metadata.universal)', True) xbmc.executebuiltin('xbmc.addon.opensettings(metadata.universal)', True)
else: # SERIES else: # SERIES
scraper = [config.get_localized_string(70098), config.get_localized_string(70093)] scraper = [config.get_localized_string(70098), config.get_localized_string(70093)]
seleccion = platformtools.dialog_select(config.get_localized_string(70107), scraper) if forced:
seleccion = 0 # tvdb
else:
seleccion = platformtools.dialog_select(config.get_localized_string(70107), scraper)
# Instalar The TVDB # Instalar The TVDB
if seleccion == -1 or seleccion == 0: if seleccion == -1 or seleccion == 0:
@@ -611,7 +619,7 @@ def set_content(content_type, silent=False):
continuar = (install and xbmc.getCondVisibility('System.HasAddon(metadata.tvdb.com)')) continuar = (install and xbmc.getCondVisibility('System.HasAddon(metadata.tvdb.com)'))
if not continuar: if not continuar:
msg_text = config.get_localized_string(70099) msg_text = config.get_localized_string(70099)
if continuar: if continuar and not forced:
xbmc.executebuiltin('xbmc.addon.opensettings(metadata.tvdb.com)', True) xbmc.executebuiltin('xbmc.addon.opensettings(metadata.tvdb.com)', True)
# Instalar The Movie Database # Instalar The Movie Database
@@ -636,7 +644,7 @@ def set_content(content_type, silent=False):
continuar = (install and continuar) continuar = (install and continuar)
if not continuar: if not continuar:
msg_text = config.get_localized_string(60047) msg_text = config.get_localized_string(60047)
if continuar: if continuar and not forced:
xbmc.executebuiltin('xbmc.addon.opensettings(metadata.tvshows.themoviedb.org)', True) xbmc.executebuiltin('xbmc.addon.opensettings(metadata.tvshows.themoviedb.org)', True)
idPath = 0 idPath = 0
Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

+1 -1
View File
@@ -40,6 +40,7 @@
<setting id="folder_tvshows" type="text" label="70118" default="SERIES"/> <setting id="folder_tvshows" type="text" label="70118" default="SERIES"/>
<setting id="folder_movies" type="text" label="70119" default="CINE"/> <setting id="folder_movies" type="text" label="70119" default="CINE"/>
<setting id="videolibrary_kodi_flag" type="number" label="" default="0" visible="false"/> <setting id="videolibrary_kodi_flag" type="number" label="" default="0" visible="false"/>
<setting id="videolibrary_kodi_force" type="bool" label="" default="false" visible="false"/>
<setting id="videolibrary_kodi" type="bool" label="70120" enable="lt(-1,2)+eq(0,false)" default="false"/> <setting id="videolibrary_kodi" type="bool" label="70120" enable="lt(-1,2)+eq(0,false)" default="false"/>
</category> </category>
<category label="70121"> <category label="70121">
@@ -145,5 +146,4 @@
<setting label="70583" type="lsep"/> <setting label="70583" type="lsep"/>
<setting id="addon_quasar_update" type="bool" label="70584" default="false"/> <setting id="addon_quasar_update" type="bool" label="70584" default="false"/>
</category> </category>
</settings> </settings>
+2
View File
@@ -88,3 +88,5 @@ def get_video_url(page_url, premium=False, user="", password="", video_password=
ret = page_url+" "+str(devuelve) if devuelve else page_url ret = page_url+" "+str(devuelve) if devuelve else page_url
logger.info(" RET=" + str(ret)) logger.info(" RET=" + str(ret))
return ret return ret
+4
View File
@@ -396,6 +396,10 @@ def get_title(item):
if not item.contentSeason: if not item.contentSeason:
item.contentSeason = '1' item.contentSeason = '1'
title = "%s - %sx%s" % (title, item.contentSeason, str(item.contentEpisodeNumber).zfill(2)) title = "%s - %sx%s" % (title, item.contentSeason, str(item.contentEpisodeNumber).zfill(2))
#4l3x87 - fix to add Sub-ITA in newest
if item.contentLanguage:
title+=" "+item.contentLanguage
elif item.contentTitle: # Si es una pelicula con el canal adaptado elif item.contentTitle: # Si es una pelicula con el canal adaptado
title = item.contentTitle title = item.contentTitle