diff --git a/channels/altadefinizione01_link.json b/channels/altadefinizione01_link.json index ca5501e2..a60ab421 100644 --- a/channels/altadefinizione01_link.json +++ b/channels/altadefinizione01_link.json @@ -13,6 +13,14 @@ "movie" ], "settings": [ + { + "id": "channel_host", + "type": "text", + "label": "Host del canale", + "default": "https://altadefinizione01.estate/", + "enabled": true, + "visible": true + }, { "id": "modo_grafico", "type": "bool", diff --git a/channels/altadefinizione01_link.py b/channels/altadefinizione01_link.py index cd1822f2..55f4f1c5 100644 --- a/channels/altadefinizione01_link.py +++ b/channels/altadefinizione01_link.py @@ -5,8 +5,9 @@ # -*- By Greko -*- # -*- last change: 26/05/2019 +import channelselector from specials import autoplay -from core import servertools, support +from core import servertools, support, jsontools from core.item import Item from platformcode import config, logger @@ -17,142 +18,151 @@ __channel__ = "altadefinizione01_link" #host = "https://altadefinizione01.network/" #aggiornato al 22 marzo 2019 #host = "http://altadefinizione01.date/" #aggiornato al 3 maggio 2019 #host = "https://altadefinizione01.voto/" #aggiornato al 3 maggio 2019 -host = "https://altadefinizione01.estate/" # aggiornato al 23 maggio 2019 +#host = "https://altadefinizione01.estate/" # aggiornato al 23 maggio 2019 # ======== def per utility INIZIO ============================ -headers = [['Referer', host]] - list_servers = ['supervideo', 'streamcherry','rapidvideo', 'streamango', 'openload'] list_quality = ['default'] +host = config.get_setting("channel_host", __channel__) checklinks = config.get_setting('checklinks', __channel__) checklinks_number = config.get_setting('checklinks_number', __channel__) +headers = [['Referer', host]] # =========== home menu =================== def mainlist(item): -""" -Creo il menu principale del canale -:param item: -:return: itemlist [] -""" -support.log() -itemlist = [] + """ + Creo il menu principale del canale + :param item: + :return: itemlist [] + """ + support.log() + itemlist = [] -# Menu Principale -support.menu(itemlist, 'Novità bold', 'peliculas', host) -support.menu(itemlist, 'Film per Genere', 'genres', host, args='genres') -support.menu(itemlist, 'Film per Anno submenu', 'genres', host, args='years') -support.menu(itemlist, 'Film per Qualità submenu', 'genres', host, args='quality') -support.menu(itemlist, 'Al Cinema bold', 'peliculas', host+'film-del-cinema') -support.menu(itemlist, 'Popolari bold', 'peliculas', host+'piu-visti.html') -support.menu(itemlist, 'Mi sento fortunato bold', 'genres', host, args='lucky') -support.menu(itemlist, 'Sub-ITA bold', 'peliculas', host+'film-sub-ita/') -support.menu(itemlist, 'Cerca film submenu', 'search', host) + # Menu Principale + support.menu(itemlist, 'Novità bold', 'peliculas', host) + support.menu(itemlist, 'Film per Genere', 'genres', host, args='genres') + support.menu(itemlist, 'Film per Anno submenu', 'genres', host, args='years') + support.menu(itemlist, 'Film per Qualità submenu', 'genres', host, args='quality') + support.menu(itemlist, 'Al Cinema bold', 'peliculas', host+'film-del-cinema') + support.menu(itemlist, 'Popolari bold', 'peliculas', host+'piu-visti.html') + support.menu(itemlist, 'Mi sento fortunato bold', 'genres', host, args='lucky') + support.menu(itemlist, 'Sub-ITA bold', 'peliculas', host+'film-sub-ita/') + support.menu(itemlist, 'Cerca film submenu', 'search', host) -# per autoplay -autoplay.init(item.channel, list_servers, list_quality) -autoplay.show_option(item.channel, itemlist) + # per autoplay + autoplay.init(item.channel, list_servers, list_quality) + autoplay.show_option(item.channel, itemlist) -return itemlist + itemlist.append( + Item(channel='setting', + action="channel_config", + title=support.typo("Configurazione Canale color lime"), + config=item.channel, + folder=False, + thumbnail=channelselector.get_thumb('setting_0.png')) + ) + + return itemlist # ======== def in ordine di action dal menu =========================== def peliculas(item): -support.log -itemlist = [] + support.log + itemlist = [] -patron = r'class="innerImage">.*?href="([^"]+)".*?src="([^"]+)"'\ - '.*?class="ml-item-title">([^<]+) (\d{4}) <'\ - '.*?class="ml-item-label">.*?class="ml-item-label ml-item-label-.+?"> '\ - '(.+?) .*?class="ml-item-label"> (.+?) .*?href="([^"]+)".*?src="([^"]+)"'\ + '.*?class="ml-item-title">([^<]+) (\d{4}) <'\ + '.*?class="ml-item-label">.*?class="ml-item-label ml-item-label-.+?"> '\ + '(.+?) .*?class="ml-item-label"> (.+?) \d ' - -itemlist = support.scrape(item, patron=patron, listGroups=listGroups, - headers= headers, patronNext=patronNext, - action='findvideos') - -return itemlist + patronNext = '\d ' + + itemlist = support.scrape(item, patron=patron, listGroups=listGroups, + headers= headers, patronNext=patronNext, + action='findvideos') + + return itemlist # =========== def pagina categorie ====================================== def genres(item): -support.log -itemlist = [] -#data = httptools.downloadpage(item.url, headers=headers).data -action = 'peliculas' -if item.args == 'genres': -bloque = r'' -elif item.args == 'years': -bloque = r'' -elif item.args == 'quality': -bloque = r'' -elif item.args == 'lucky': # sono i titoli random nella pagina, cambiano 1 volta al dì -bloque = r'FILM RANDOM.*?class="listSubCat">(.*?)' -action = 'findvideos' - -patron = r'
  • (.*?)<' + support.log + itemlist = [] + #data = httptools.downloadpage(item.url, headers=headers).data + action = 'peliculas' + if item.args == 'genres': + bloque = r'' + elif item.args == 'years': + bloque = r'' + elif item.args == 'quality': + bloque = r'' + elif item.args == 'lucky': # sono i titoli random nella pagina, cambiano 1 volta al dì + bloque = r'FILM RANDOM.*?class="listSubCat">(.*?)' + action = 'findvideos' + + patron = r'
  • (.*?)<' -listGroups = ['url','title'] -itemlist = support.scrape(item, patron=patron, listGroups=listGroups, - headers= headers, patron_block = bloque, - action=action) + listGroups = ['url','title'] + itemlist = support.scrape(item, patron=patron, listGroups=listGroups, + headers= headers, patron_block = bloque, + action=action) -return itemlist + return itemlist # =========== def per cercare film/serietv ============= #host+/index.php?do=search&story=avatar&subaction=search def search(item, text): -support.log() -itemlist = [] -text = text.replace(" ", "+") -item.url = host+"/index.php?do=search&story=%s&subaction=search" % (text) -try: -return peliculas(item) -# Se captura la excepciÛn, para no interrumpir al buscador global si un canal falla -except: -import sys -for line in sys.exc_info(): -logger.info("%s mainlist search log: %s" % (__channel__, line)) -return [] + support.log() + itemlist = [] + text = text.replace(" ", "+") + item.url = host+"/index.php?do=search&story=%s&subaction=search" % (text) + try: + return peliculas(item) + # Se captura la excepciÛn, para no interrumpir al buscador global si un canal falla + except: + import sys + for line in sys.exc_info(): + logger.info("%s mainlist search log: %s" % (__channel__, line)) + return [] # =========== def per le novità nel menu principale ============= def newest(categoria): -support.log(categoria) -itemlist = [] -item = Item() -try: -if categoria == "peliculas": -item.url = host -item.action = "peliculas" -itemlist = peliculas(item) + support.log(categoria) + itemlist = [] + item = Item() + try: + if categoria == "peliculas": + item.url = host + item.action = "peliculas" + itemlist = peliculas(item) -if itemlist[-1].action == "peliculas": -itemlist.pop() -# Continua la ricerca in caso di errore -except: -import sys -for line in sys.exc_info(): -logger.error("{0}".format(line)) -return [] + if itemlist[-1].action == "peliculas": + itemlist.pop() + # Continua la ricerca in caso di errore + except: + import sys + for line in sys.exc_info(): + logger.error("{0}".format(line)) + return [] -return itemlist + return itemlist def findvideos(item): -support.log() + support.log() + + itemlist = support.server(item, headers=headers) -itemlist = support.server(item, headers=headers) + # Requerido para FilterTools + # itemlist = filtertools.get_links(itemlist, item, list_language) -# Requerido para FilterTools -# itemlist = filtertools.get_links(itemlist, item, list_language) + # Requerido para AutoPlay + autoplay.start(itemlist, item) -# Requerido para AutoPlay -autoplay.start(itemlist, item) - -support.videolibrary(itemlist, item, 'color kod') - -return itemlist + support.videolibrary(itemlist, item, 'color kod') + + return itemlist