Merge branch 'master' of github.com:kodiondemand/addon

risolto conflitto con channels/guardaserieclick.py
This commit is contained in:
greko17
2019-09-13 12:26:04 +02:00
7 changed files with 74 additions and 157 deletions

View File

@@ -32,18 +32,14 @@ headers = [
PERPAGE = 15
@support.menu
def mainlist(item):
log()
itemlist = []
tvshow = ['',
('Novità', ['', 'peliculas']),
('Archivio A-Z ', ['', 'list_az'])
]
support.menu(itemlist, 'Novità bold', 'pelicuals_tv', host, 'tvshow')
support.menu(itemlist, 'Serie TV bold', 'lista_serie', host, 'tvshow')
('Archivio A-Z ', [, 'list_az', ]), 'tvshow', args=['serie'])
support.aplay(item, itemlist, list_servers, list_quality)
support.channel_config(item, itemlist)
return itemlist
return locals()
# ----------------------------------------------------------------------------------------------------------------
@@ -65,7 +61,7 @@ def newest(categoria):
if categoria == "series":
item.url = host
# item.action = "serietv"
itemlist = pelicuals_tv(item)
itemlist = peliculas(item)
if itemlist[-1].action == "serietv":
itemlist.pop()
@@ -80,7 +76,7 @@ def newest(categoria):
return itemlist
def pelicuals_tv(item):
def peliculas(item):
log()
itemlist = []

View File

@@ -22,22 +22,18 @@ checklinks_number = config.get_setting('checklinks_number', 'filmigratis')
headers = [['Referer', host]]
#-----------------------------------------------------------------------------------------------------------------------
@support.menu
def mainlist(item):
film = [
('Al Cinema ', ['', 'carousel']),
('Film alta definizione', ['', 'peliculas']),
('Categorie', ['', 'categorias_film']),
]
tvshow = [
('Categorie', ['', 'categorias_serie'])
]
# Main options
itemlist = []
support.menu(itemlist, 'Al Cinema bold', 'carousel', host, contentType='movie')
support.menu(itemlist, 'Film alta definizione bold', 'peliculas', host, contentType='movie', args='film')
support.menu(itemlist, 'Categorie Film bold', 'categorias_film', host , contentType='movie', args='film')
support.menu(itemlist, 'Categorie Serie bold', 'categorias_serie', host, contentType='tvshow', args='serie')
autoplay.init(item.channel, list_servers, list_quality)
autoplay.show_option(item.channel, itemlist)
return itemlist
return locals()
#-----------------------------------------------------------------------------------------------------------------------

View File

@@ -17,26 +17,16 @@ list_servers = ['verystream', 'openload', 'streamango', 'wstream', 'akvideo']
list_quality = ['HD', 'SD']
@support.menu
def mainlist(item):
logger.info()
film = ['/category/film/',
('Film per Genere', ['', 'genre'])
]
tvshow = ['/category/serie-tv/',
('in ordine alfabetico', ['/category/serie-tv/', 'az'])
]
itemlist =[]
support.menu(itemlist, '[B]Film[/B]', 'peliculas', host + '/category/film/', 'movie')
support.menu(itemlist, '[B] > Film per Genere[/B]', 'genre', host, 'tvshow')
support.menu(itemlist, '[COLOR blue]Cerca Film...[/COLOR]', 'search', '')
support.menu(itemlist, '[B]Serie TV[/B]', 'peliculas', host + '/category/serie-tv/', 'tvshow')
support.menu(itemlist, '[B] > Serie TV in ordine alfabetico[/B]', 'az', host + '/category/serie-tv/', 'tvshow')
support.menu(itemlist, '[COLOR blue]Cerca Serie TV...[/COLOR]', 'search', '', 'tvshow')
autoplay.init(item.channel, list_servers, list_quality)
autoplay.show_option(item.channel, itemlist)
for item in itemlist:
logger.info('MENU=' + str(item) )
return itemlist
return locals()
def newest(categoria):

View File

@@ -18,98 +18,25 @@ __channel__ = 'guardaserieclick'
host = config.get_channel_url(__channel__)
headers = [['Referer', host]]
##IDIOMAS = {'Italiano': 'IT'}
##list_language = IDIOMAS.values()
list_servers = ['speedvideo', 'openload']
list_quality = ['default']
# ----------------------------------------------------------------------------------------------------------------
@support.menu
def mainlist(item):
log('mainlist', item)
tvshow = ['/lista-serie-tv',
]
## support.menu(itemlist, 'Serie', 'serietv', "%s/lista-serie-tv" % host, 'tvshow', args=['news'])
## support.menu(itemlist, 'Ultimi Aggiornamenti submenu', 'serietv', "%s/lista-serie-tv" % host, 'tvshow', args= ['update'])
## support.menu(itemlist, 'Categorie', 'categorie', host, 'tvshow', args=['cat'])
## support.menu(itemlist, 'Serie inedite Sub-ITA submenu', 'serietv', "%s/lista-serie-tv" % host, 'tvshow', args=['inedite'])
## support.menu(itemlist, 'Da non perdere bold submenu', 'serietv', "%s/lista-serie-tv" % host, 'tvshow', args=['tv', 'da non perdere'])
## support.menu(itemlist, 'Classiche bold submenu', 'serietv', "%s/lista-serie-tv" % host, 'tvshow', args=['tv', 'classiche'])
## support.menu(itemlist, 'Disegni che si muovono sullo schermo per magia bold', 'tvserie', "%s/category/animazione/" % host, 'tvshow', args= ['anime'])
tvshow = ["/lista-serie-tv",
('Ultimi Aggiornamenti', ["/lista-serie-tv", 'peliculas', 'update']),
('Categorie', ['categorie', 'categorie']),
('Serie inedite Sub-ITA', ["/lista-serie-tv", 'peliculas', 'inedite']),
('Da non perdere', ["/lista-serie-tv", 'peliculas', ['tv', 'da non perdere']]),
('Classiche', ["/lista-serie-tv", 'peliculas', ['tv', 'classiche']]),
('Anime', ["/category/animazione/", 'tvserie', 'tvshow','anime'])
]
return locals()
@support.scrape
def peliculas(item):
log('peliculas: ', item)
action = 'episodios'
patronBlock = r'<div class="container container-title-serie-new container-scheda" meta-slug="new">(?P<block>.*?)</div></div><div>'
patron = r'<a href="(?P<url>[^"]+)".*?>\s<img\s.*?src="(?P<thumb>[^"]+)"\s/>[^>]+>[^>]+>\s[^>]+>\s(?P<year>\d{4})?\s.+?class="strongText">(?P<title>.+?)<'
debug = True
return locals()
@support.scrape
def serietv(item):
## import web_pdb; web_pdb.set_trace()
log('serietv ->\n', item)
##<<<<<<< HEAD
##
## action = 'episodios'
## listGroups = ['url', 'thumb', 'title']
## patron = r'<a href="([^"]+)".*?> <img\s.*?src="([^"]+)" \/>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>([^<]+)<\/p>'
## if 'news' in item.args:
## patronBlock = r'<div class="container container-title-serie-new container-scheda" meta-slug="new">(.*?)</div></div><div'
## elif 'inedite' in item.args:
## patronBlock = r'<div class="container container-title-serie-ined container-scheda" meta-slug="ined">(.*?)</div></div><div'
## elif 'da non perdere' in item.args:
## patronBlock = r'<div class="container container-title-serie-danonperd container-scheda" meta-slug="danonperd">(.*?)</div></div><div'
## elif 'classiche' in item.args:
## patronBlock = r'<div class="container container-title-serie-classiche container-scheda" meta-slug="classiche">(.*?)</div></div><div'
## elif 'update' in item.args:
## listGroups = ['url', 'thumb', 'episode', 'lang', 'title']
## patron = r'rel="nofollow" href="([^"]+)"[^>]+> <img.*?src="([^"]+)"[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>(\d+.\d+) \((.+?)\).<[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>([^<]+)<[^>]+>'
## patronBlock = r'meta-slug="lastep">(.*?)</div></div><div'
## # permette di vedere episodio + titolo + titolo2 in novità
## def itemHook(item):
## item.show = item.episode + item.title
## return item
## return locals()
##
##@support.scrape
##def tvserie(item):
##
## action = 'episodios'
## listGroups = ['url', 'thumb', 'title']
## patron = r'<a\shref="([^"]+)".*?>\s<img\s.*?src="([^"]+)" />[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>([^<]+)</p></div>'
## patronBlock = r'<div\sclass="col-xs-\d+ col-sm-\d+-\d+">(.*?)<div\sclass="container-fluid whitebg" style="">'
## patronNext = r'<link\s.*?rel="next"\shref="([^"]+)"'
##
## return locals()
##
##@support.scrape
##def episodios(item):
## log('episodios ->\n')
## item.contentType = 'episode'
##
## action = 'findvideos'
## listGroups = ['episode', 'lang', 'title2', 'plot', 'title', 'url']
## patron = r'class="number-episodes-on-img"> (\d+.\d+)(?:|[ ]\((.*?)\))<[^>]+>'\
## '[^>]+>[^>]+>[^>]+>[^>]+>(.*?)<[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>'\
## '(.*?)<[^>]+></div></div>.<span\s.+?meta-serie="(.*?)" meta-stag=(.*?)</span>'
##
## return locals()
##
##=======
action = 'episodios'
listGroups = ['url', 'thumb', 'title']
@@ -156,15 +83,13 @@ def episodios(item):
return locals()
##>>>>>>> a72130e0324ae485ae5f39d3d8f1df46c365fa5b
def findvideos(item):
log()
return support.server(item, item.url)
@support.scrape
def categorie(item):
log
action = 'tvserie'
listGroups = ['url', 'title']
patron = r'<li>\s<a\shref="([^"]+)"[^>]+>([^<]+)</a></li>'
@@ -185,10 +110,10 @@ def newest(categoria):
try:
if categoria == "series":
item.url = "%s/lista-serie-tv" % host
item.action = "serietv"
itemlist = serietv(item)
item.action = "peliculas"
itemlist = peliculas(item)
if itemlist[-1].action == "serietv":
if itemlist[-1].action == "peliculas":
itemlist.pop()
# Continua la ricerca in caso di errore

View File

@@ -28,7 +28,6 @@ list_quality = ['1080p', '720p', '480p', '360']
checklinks = support.config.get_setting('checklinks', __channel__)
checklinks_number = support.config.get_setting('checklinks_number', __channel__)
headers = [['Referer', host]]
@support.menu
def mainlist(item):

View File

@@ -20,16 +20,14 @@ list_servers = ['speedvideo']
list_quality = ['default']
@support.menu
def mainlist(item):
log()
itemlist = []
support.menu(itemlist, 'Novità bold', 'latestep', "%s/ultimi-episodi" % host, 'tvshow')
support.menu(itemlist, 'Serie TV bold', 'lista_serie', "%s/category/serie-tv" % host, 'tvshow')
support.menu(itemlist, 'Categorie', 'categorie', host, 'tvshow')
tvshow = ['/category/serie-tv',
('Novità', ['/ultimi-episodi', 'latestep']),
('Categorie', ['', 'categorie'])
]
support.aplay(item, itemlist, list_servers, list_quality)
support.channel_config(item, itemlist)
return itemlist
return locals()
# ----------------------------------------------------------------------------------------------------------------
@@ -47,7 +45,7 @@ def cleantitle(scrapedtitle):
# ================================================================================================================
# ----------------------------------------------------------------------------------------------------------------
def lista_serie(item):
def peliculas(item):
log()
itemlist = []
@@ -282,7 +280,7 @@ def search(item, texto):
log(texto)
item.url = host + "/?s=" + texto
try:
return lista_serie(item)
return peliculas(item)
# Continua la ricerca in caso di errore
except:
import sys
@@ -298,6 +296,6 @@ def categorie(item):
log()
patron_block= r'<h2>Sfoglia</h2>\s*<ul>(.*?)</ul>\s*</section>'
patron = r'<li><a href="([^"]+)">([^<]+)</a></li>'
return support.scrape(item, patron, ['url','title'], patron_block=patron_block, action='lista_serie', blacklist=["Home Page", "Calendario Aggiornamenti"])
return support.scrape(item, patron, ['url','title'], patron_block=patron_block, action='peliculas', blacklist=["Home Page", "Calendario Aggiornamenti"])
# ================================================================================================================

View File

@@ -227,25 +227,37 @@ def filter_list(episodelist, action=None, path=None):
if action:
tvshow_path = filetools.join(path, "tvshow.nfo")
head_nfo, tvshow_item = read_nfo(tvshow_path)
channel = episodelist[0].channel
if not tvshow_item.channel_prefs:
tvshow_item.channel_prefs={channel:{}}
if channel not in tvshow_item.channel_prefs:
tvshow_item.channel_prefs[channel] = {}
channel_prefs = tvshow_item.channel_prefs[channel]
if action == 'get_seasons':
if tvshow_item:
if "favourite_language" in tvshow_item:
lang_sel = tvshow_item.favourite_language
if "favourite_quality" in tvshow_item:
quality_sel = tvshow_item.favourite_quality
if channel_prefs:
if channel_prefs['favourite_language']:
lang_sel = channel_prefs['favourite_language']
if channel_prefs['favourite_quality']:
quality_sel = channel_prefs['favourite_quality']
# SELECT EISODE BY LANG AND QUALITY
quality_dict = {"BLURAY": ["br", "bluray"],
quality_dict = {"N/A": ["n/a"],
"BLURAY": ["br", "bluray"],
"FULLHD": ["fullhd", "fullhd 1080", "fullhd 1080p", "full hd", "full hd 1080", "full hd 1080p", "hd1080", "hd1080p", "hd 1080", "hd 1080p", "1080", "1080p"],
"HD": ["hd", "hd720", "hd720p", "hd 720", "hd 720p", "720", "720p", "hdtv"],
"480P": ["sd", "480p", '480'],
"360P": ["360p", "360"],
"240P": ["240p", "240"]}
"240P": ["240p", "240"],
config.get_localized_string(70241):["MAX"]}
quality_order = ["N/A", "240P", "360P","480P", "HD", "FULLHD", "BLURAY", config.get_localized_string(70241)]
ep_list = []
lang_list = []
quality_list = []
quality_list = [config.get_localized_string(70241)]
# Make lang_list and Quality_list
for episode in episodelist:
if episode.contentLanguage and episode.contentLanguage not in lang_list: lang_list.append(episode.contentLanguage)
for name, var in quality_dict.items():
@@ -253,6 +265,7 @@ def filter_list(episodelist, action=None, path=None):
quality_list.append('N/A')
if episode.quality.lower() in var and name not in quality_list:
quality_list.append(name)
quality_list = sorted(quality_list, key=lambda x:quality_order.index(x))
# if more than one language
if len(lang_list) > 1:
@@ -260,12 +273,12 @@ def filter_list(episodelist, action=None, path=None):
it = []
for episode in episodelist:
if episode.contentLanguage == lang_list[selection]:
if action: tvshow_item.favourite_language = lang_list[selection]
if action: lang_sel = channel_prefs['favourite_language'] = lang_list[selection]
it.append(episode)
episodelist = it
# if more than one quality
if len(quality_list) > 1:
if len(quality_list) > 2:
selection = favourite_quality_selection = quality_list.index(quality_sel) if quality_sel else platformtools.dialog_select(config.get_localized_string(70726),quality_list)
stop = False
while not stop:
@@ -278,18 +291,18 @@ def filter_list(episodelist, action=None, path=None):
if quality_list[selection] == 'N/A':
for episode in episodelist:
title = scrapertools.find_single_match(episode.title, '(\d+x\d+)')
if not any(title in word for word in ep_list) and not episode.quality.lower():
if not any(title in word for word in ep_list):
ep_list.append(episode.title)
it = []
for episode in episodelist:
if episode.title in ep_list:
if action: tvshow_item.favourite_quality = quality_list[favourite_quality_selection]
if action: channel_prefs['favourite_quality'] = quality_list[favourite_quality_selection]
it.append(episode)
episodelist = it
# logger.info('ITEM NFO= ' + str(tvshow_item))
if action: filetools.write(tvshow_path, head_nfo + tvshow_item.tojson())
return episodelist
def save_tvshow(item, episodelist):