From 020b41abaa6b86773cbd48f30f9db124fad27fc0 Mon Sep 17 00:00:00 2001 From: Alhaziel Date: Thu, 12 Sep 2019 20:13:08 +0200 Subject: [PATCH 1/3] Fix Aggiunta in Libreria --- core/videolibrarytools.py | 39 ++++++++++++++++++++++++++------------- 1 file changed, 26 insertions(+), 13 deletions(-) diff --git a/core/videolibrarytools.py b/core/videolibrarytools.py index c846c7a3..fb3cceb4 100644 --- a/core/videolibrarytools.py +++ b/core/videolibrarytools.py @@ -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): From 065c28854fcd314b1f48ac8851d61f608ffe4421 Mon Sep 17 00:00:00 2001 From: mac12m99 Date: Thu, 12 Sep 2019 21:26:34 +0200 Subject: [PATCH 2/3] aggiornato mainlist con support per alcuni canali --- channels/fastsubita.py | 4 ++-- channels/guardaserieclick.py | 8 ++++---- channels/seriehd.py | 1 - channels/serietvu.py | 20 +++++++++----------- 4 files changed, 15 insertions(+), 18 deletions(-) diff --git a/channels/fastsubita.py b/channels/fastsubita.py index 1e10a0e5..6901337a 100644 --- a/channels/fastsubita.py +++ b/channels/fastsubita.py @@ -65,7 +65,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 +80,7 @@ def newest(categoria): return itemlist -def pelicuals_tv(item): +def peliculas(item): log() itemlist = [] diff --git a/channels/guardaserieclick.py b/channels/guardaserieclick.py index 5d6d3c05..c91eb469 100644 --- a/channels/guardaserieclick.py +++ b/channels/guardaserieclick.py @@ -50,7 +50,7 @@ def mainlist(item): return itemlist @support.scrape -def serietv(item): +def peliculas(item): ## import web_pdb; web_pdb.set_trace() log('serietv ->\n') ##<<<<<<< HEAD @@ -177,10 +177,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 diff --git a/channels/seriehd.py b/channels/seriehd.py index 34e44803..7c1db8db 100644 --- a/channels/seriehd.py +++ b/channels/seriehd.py @@ -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): diff --git a/channels/serietvu.py b/channels/serietvu.py index 4ccf528e..4b1a7304 100644 --- a/channels/serietvu.py +++ b/channels/serietvu.py @@ -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'

Sfoglia

\s*\s*' patron = r'
  • ([^<]+)
  • ' - 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"]) # ================================================================================================================ From 2dfc875b761f50ef9ef766d0e5302231723d1ff5 Mon Sep 17 00:00:00 2001 From: mac12m99 Date: Thu, 12 Sep 2019 21:29:51 +0200 Subject: [PATCH 3/3] ops --- channels/fastsubita.py | 16 ++++++---------- channels/filmigratis.py | 24 ++++++++++-------------- channels/filmpertutti.py | 26 ++++++++------------------ channels/guardaserieclick.py | 34 ++++++++++------------------------ 4 files changed, 34 insertions(+), 66 deletions(-) diff --git a/channels/fastsubita.py b/channels/fastsubita.py index 6901337a..d92ea1de 100644 --- a/channels/fastsubita.py +++ b/channels/fastsubita.py @@ -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() # ---------------------------------------------------------------------------------------------------------------- diff --git a/channels/filmigratis.py b/channels/filmigratis.py index c89e50c2..53f3549e 100644 --- a/channels/filmigratis.py +++ b/channels/filmigratis.py @@ -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() #----------------------------------------------------------------------------------------------------------------------- diff --git a/channels/filmpertutti.py b/channels/filmpertutti.py index bf090b28..0d466ca0 100644 --- a/channels/filmpertutti.py +++ b/channels/filmpertutti.py @@ -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): diff --git a/channels/guardaserieclick.py b/channels/guardaserieclick.py index c91eb469..aa773eb8 100644 --- a/channels/guardaserieclick.py +++ b/channels/guardaserieclick.py @@ -1,7 +1,6 @@ # -*- coding: utf-8 -*- # ------------------------------------------------------------ # Canale per Guardaserie.click -# Thanks to Icarus crew & Alfa addon & 4l3x87 # ------------------------------------------------------------ """ @@ -19,35 +18,24 @@ __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'] -headers = [['Referer', host]] - # ---------------------------------------------------------------------------------------------------------------- +@support.menu def mainlist(item): - log() + 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']) + ] - itemlist = [] + return locals() - 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']) - - - # autoplay - support.aplay(item, itemlist, list_servers, list_quality) - # configurazione del canale - support.channel_config(item, itemlist) - - return itemlist @support.scrape def peliculas(item): @@ -154,8 +142,6 @@ def findvideos(item): @support.scrape def categorie(item): - log - action = 'tvserie' listGroups = ['url', 'title'] patron = r'
  • \s]+>([^<]+)
  • '