From f0c204a1c346470c2b2d55a85f291f7ae9850bc1 Mon Sep 17 00:00:00 2001 From: Unknown Date: Fri, 23 Feb 2018 12:55:07 -0300 Subject: [PATCH 1/2] ultimos ajustes + placa bacteriana --- plugin.video.alfa/channelselector.py | 27 +- .../platformcode/platformtools.py | 61 +- plugin.video.alfa/platformcode/unify.py | 556 ++++++++++++++++++ plugin.video.alfa/resources/settings.xml | 52 ++ 4 files changed, 678 insertions(+), 18 deletions(-) create mode 100644 plugin.video.alfa/platformcode/unify.py diff --git a/plugin.video.alfa/channelselector.py b/plugin.video.alfa/channelselector.py index 7eac2632..2513e10e 100644 --- a/plugin.video.alfa/channelselector.py +++ b/plugin.video.alfa/channelselector.py @@ -5,7 +5,8 @@ import os from core import channeltools from core.item import Item -from platformcode import config, logger +from platformcode.unify import thumb_dict +from platformcode import config, logger, unify def getmainlist(view="thumb_"): @@ -199,14 +200,24 @@ def filterchannels(category, view="thumb_"): return channelslist -def get_thumb(thumb_name, view="thumb_"): +def get_thumb(thumb_name, view="thumb_", auto=False): - icon_pack_name = config.get_setting('icon_set', default="default") - if icon_pack_name == "default": - resource_path = os.path.join(config.get_runtime_path(), "resources", "media", "themes") + if auto: + thumbnail = '' + + thumb_name = unify.set_genre(unify.simplify(thumb_name)) + + + if thumb_name in thumb_dict: + thumbnail = thumb_dict[thumb_name] + return thumbnail else: - resource_path = "https://raw.githubusercontent.com/alfa-addon/media/master/themes/" + icon_pack_name = config.get_setting('icon_set', default="default") + if icon_pack_name == "default": + resource_path = os.path.join(config.get_runtime_path(), "resources", "media", "themes") + else: + resource_path = "https://raw.githubusercontent.com/alfa-addon/media/master/themes/" - media_path = os.path.join(resource_path, icon_pack_name) + media_path = os.path.join(resource_path, icon_pack_name) - return os.path.join(media_path, view + thumb_name) + return os.path.join(media_path, view + thumb_name) diff --git a/plugin.video.alfa/platformcode/platformtools.py b/plugin.video.alfa/platformcode/platformtools.py index fed81b09..eba9e519 100644 --- a/plugin.video.alfa/platformcode/platformtools.py +++ b/plugin.video.alfa/platformcode/platformtools.py @@ -17,6 +17,8 @@ import xbmc import xbmcgui import xbmcplugin from channelselector import get_thumb +from platformcode import unify +from core import channeltools from core import trakt_tools from core.item import Item from platformcode import logger @@ -118,8 +120,18 @@ def render_items(itemlist, parent_item): if not len(itemlist): itemlist.append(Item(title="No hay elementos que mostrar")) + genre = False + if 'nero' in parent_item.title: + genre = True + anime = False + if 'anime' in channeltools.get_channel_parameters(parent_item.channel)['categories']: + anime = True + # Recorremos el itemlist + for item in itemlist: + channel_parameters = channeltools.get_channel_parameters(item.channel) + #logger.debug(item) # Si el item no contiene categoria, le ponemos la del item padre if item.category == "": item.category = parent_item.category @@ -128,25 +140,51 @@ def render_items(itemlist, parent_item): if item.fanart == "": item.fanart = parent_item.fanart - # Formatear titulo - if item.text_color: - item.title = '[COLOR %s]%s[/COLOR]' % (item.text_color, item.title) - if item.text_bold: - item.title = '[B]%s[/B]' % item.title - if item.text_italic: - item.title = '[I]%s[/I]' % item.title + + if genre: + + valid_genre = True + thumb = get_thumb(item.title, auto=True) + if thumb != '': + item.thumbnail = thumb + valid_genre = True + elif anime: + valid_genre = True + + + unify_enabled = config.get_setting('unify') + + #logger.debug('unify_enabled: %s' % unify_enabled) + + + if unify_enabled and not channel_parameters['adult'] and 'skip_unify' not in channel_parameters: + # Formatear titulo con unify + item = unify.title_format(item) + else: + #Formatear titulo metodo old school + if item.text_color: + item.title = '[COLOR %s]%s[/COLOR]' % (item.text_color, item.title) + if item.text_bold: + item.title = '[B]%s[/B]' % item.title + if item.text_italic: + item.title = '[I]%s[/I]' % item.title # Añade headers a las imagenes si estan en un servidor con cloudflare from core import httptools + item.thumbnail = httptools.get_url_headers(item.thumbnail) item.fanart = httptools.get_url_headers(item.fanart) - + item.thumbnail = unify.thumbnail_type(item) # IconImage para folder y video if item.folder: icon_image = "DefaultFolder.png" else: icon_image = "DefaultVideo.png" + #if not genre or (genre and valid_genre): + # Creamos el listitem + #listitem = xbmcgui.ListItem(item.title, iconImage=icon_image, thumbnailImage=unify.thumbnail_type(item)) + listitem = xbmcgui.ListItem(item.title, iconImage=icon_image, thumbnailImage=item.thumbnail) # Ponemos el fanart if item.fanart: fanart = item.fanart @@ -159,7 +197,8 @@ def render_items(itemlist, parent_item): # values icon, thumb or poster are skin dependent.. so we set all to avoid problems # if not exists thumb it's used icon value if config.get_platform(True)['num_version'] >= 16.0: - listitem.setArt({'icon': icon_image, 'thumb': item.thumbnail, 'poster': item.thumbnail, 'fanart': fanart}) + listitem.setArt({'icon': icon_image, 'thumb': item.contentThumbnail, 'poster': item.thumbnail, + 'fanart': fanart}) else: listitem.setIconImage(icon_image) listitem.setThumbnailImage(item.thumbnail) @@ -193,6 +232,7 @@ def render_items(itemlist, parent_item): listitem=listitem, isFolder=item.folder, totalItems=item.totalItems) + # Fijar los tipos de vistas... if config.get_setting("forceview"): # ...forzamos segun el viewcontent @@ -510,7 +550,7 @@ def is_playing(): def play_video(item, strm=False, force_direct=False, autoplay=False): logger.info() # logger.debug(item.tostring('\n')) - + logger.debug('item play: %s'%item) if item.channel == 'downloads': logger.info("Reproducir video local: %s [%s]" % (item.title, item.url)) xlistitem = xbmcgui.ListItem(path=item.url) @@ -890,6 +930,7 @@ def set_player(item, xlistitem, mediaurl, view, strm): if strm or item.strm_path: from platformcode import xbmc_videolibrary xbmc_videolibrary.mark_auto_as_watched(item) + logger.debug(item) xlistitem.setPath(mediaurl) xbmcplugin.setResolvedUrl(int(sys.argv[1]), True, xlistitem) diff --git a/plugin.video.alfa/platformcode/unify.py b/plugin.video.alfa/platformcode/unify.py new file mode 100644 index 00000000..1e6227f6 --- /dev/null +++ b/plugin.video.alfa/platformcode/unify.py @@ -0,0 +1,556 @@ +# -*- coding: utf-8 -*- +# ------------------------------------------------------------ +# Unify +# ------------------------------------------------------------ +# Herramientas responsables de unificar diferentes tipos de +# datos obtenidos de las paginas +# ---------------------------------------------------------- + +import os +import sys +import urllib +import unicodedata +import re + +import config +from core.item import Item +from core import scrapertools +from platformcode import logger + +thumb_dict = {"movies": "https://s10.postimg.org/fxtqzdog9/peliculas.png", + "tvshows": "https://s10.postimg.org/kxvslawe1/series.png", + "all": "https://s10.postimg.org/h1igpgw0p/todas.png", + "genres": "https://s10.postimg.org/6c4rx3x1l/generos.png", + "search": "https://s10.postimg.org/v985e2izd/buscar.png", + "quality": "https://s10.postimg.org/9bbojsbjd/calidad.png", + "audio": "https://s10.postimg.org/b34nern7d/audio.png", + "newest": "https://s10.postimg.org/g1s5tf1bt/novedades.png", + "last": "https://s10.postimg.org/i6ciuk0eh/ultimas.png", + "hot": "https://s10.postimg.org/yu40x8q2x/destacadas.png", + "year": "https://s10.postimg.org/egcw1womh/a_o.png", + "alphabet": "https://s10.postimg.org/4dy3ytmgp/a-z.png", + "recomended": "https://s10.postimg.org/7xk1oqccp/recomendadas.png", + "more_watched": "https://s10.postimg.org/c6orr5neh/masvistas.png", + "more_voted": "https://s10.postimg.org/c6orr5neh/masvistas.png", + "favorites": "https://s10.postimg.org/rtg147gih/favoritas.png", + "colections": "https://s10.postimg.org/ywnwjvytl/colecciones.png", + "categories": "https://s10.postimg.org/v0ako5lmh/categorias.png", + "premieres": "https://s10.postimg.org/sk8r9xdq1/estrenos.png", + "documentaries": "https://s10.postimg.org/68aygmmcp/documentales.png", + "language": "https://s10.postimg.org/hknjykfnt/idioma.png", + "new_episodes": "https://s10.postimg.org/fu4iwpnqh/nuevoscapitulos.png", + "country": "https://s10.postimg.org/hlxhrrjzt/pais.png", + "adults": "https://s10.postimg.org/s8raxc51l/adultos.png", + "accion": "https://s14.postimg.org/sqy3q2aht/action.png", + "adolescente" : "https://s10.postimg.org/inq7u4p61/teens.png", + "adultos": "https://s10.postimg.org/s8raxc51l/adultos.png", + "animacion": "https://s14.postimg.org/vl193mupd/animation.png", + "anime" : "https://s10.postimg.org/n9mc2ikzt/anime.png", + "artes marciales" : "https://s10.postimg.org/4u1v51tzt/martial_arts.png", + "aventura": "https://s14.postimg.org/ky7fy5he9/adventure.png", + "belico": "https://s14.postimg.org/5e027lru9/war.png", + "biografia" : "https://s10.postimg.org/jq0ecjxnt/biographic.png", + "carreras": "https://s14.postimg.org/yt5qgdr69/races.png", + "ciencia ficcion": "https://s14.postimg.org/8kulr2jy9/scifi.png", + "cine negro" : "https://s10.postimg.org/6ym862qgp/noir.png", + "comedia": "https://s14.postimg.org/9ym8moog1/comedy.png", + "cortometraje" : "https://s10.postimg.org/qggvlxndl/shortfilm.png", + "crimen": "https://s14.postimg.org/duzkipjq9/crime.png", + "de la tv": "https://s10.postimg.org/94gj0iwh5/image.png", + "deporte": "https://s14.postimg.org/x1crlnnap/sports.png", + "destacadas": "https://s10.postimg.org/yu40x8q2x/destacadas.png", + "documental": "https://s10.postimg.org/68aygmmcp/documentales.png", + "drama": "https://s14.postimg.org/fzjxjtnxt/drama.png", + "erotica" : "https://s10.postimg.org/dcbb9bfx5/erotic.png", + "espanolas" : "https://s10.postimg.org/x1y6zikx5/spanish.png", + "estrenos" : "https://s10.postimg.org/sk8r9xdq1/estrenos.png", + "extranjera": "https://s10.postimg.org/f44a4eerd/foreign.png", + "familiar": "https://s14.postimg.org/jj5v9ndsx/family.png", + "fantasia": "https://s14.postimg.org/p7c60ksg1/fantasy.png", + "fantastico" : "https://s10.postimg.org/tedufx5eh/fantastic.png", + "historica": "https://s10.postimg.org/p1faxj6yh/historic.png", + "horror" : "https://s10.postimg.org/8exqo6yih/horror2.png", + "infantil": "https://s14.postimg.org/4zyq842mp/childish.png", + "intriga": "https://s14.postimg.org/5qrgdimw1/intrigue.png", + "latino" : "https://s10.postimg.org/swip0b86h/latin.png", + "mexicanas" : "https://s10.postimg.org/swip0b86h/latin.png", + "misterio": "https://s14.postimg.org/3m73cg8ep/mistery.png", + "musical": "https://s10.postimg.org/hy7fhtecp/musical.png", + "peleas" : "https://s10.postimg.org/7a3ojbjwp/Fight.png", + "policial" : "https://s10.postimg.org/wsw0wbgbd/cops.png", + "recomendadas": "https://s10.postimg.org/7xk1oqccp/recomendadas.png", + "religion" : "https://s10.postimg.org/44j2skquh/religion.png", + "romance" : "https://s10.postimg.org/yn8vdll6x/romance.png", + "romantica": "https://s14.postimg.org/8xlzx7cht/romantic.png", + "suspenso": "https://s10.postimg.org/7peybxdfd/suspense.png", + "terror": "https://s14.postimg.org/thqtvl52p/horror.png", + "thriller": "https://s14.postimg.org/uwsekl8td/thriller.png", + "western": "https://s10.postimg.org/5wc1nokjt/western.png" + } + +def set_genre(string): + logger.info() + + genres_dict = {'accion':['accion', 'action', 'accion y aventura', 'action & adventure'], + 'adultos':['adultos', 'adultos +', 'adulto'], + 'animacion':['animacion', 'animacion e infantil', 'dibujos animados'], + 'adolescente':['adolescente', 'adolescentes', 'adolescencia', 'adolecentes'], + 'aventura':['aventura', 'aventuras'], + 'belico':['belico', 'belica', 'belicas', 'guerra', 'belico guerra'], + 'biografia':['biografia', 'biografias', 'biografica', 'biograficas', 'biografico'], + 'ciencia ficcion':['ciencia ficcion', 'cienciaficcion', 'sci fi', 'c ficcion'], + 'cine negro':['film noir', 'negro'], + 'comedia':['comedia', 'comedias'], + 'cortometraje':['cortometraje', 'corto', 'cortos'], + 'de la tv':['de la tv', 'television', 'tv'], + 'deporte':['deporte', 'deportes'], + 'destacadas':['destacada', 'destacadas'], + 'documental':['documental', 'documentales'], + 'erotica':['erotica', 'erotica +', 'eroticas', 'eroticas +', 'erotico', 'erotico +'], + 'estrenos':['estrenos', 'estrenos'], + 'extranjera':['extrajera', 'extrajeras', 'foreign'], + 'familiar':['familiar', 'familia'], + 'fantastico':['fantastico', 'fantastica', 'fantasticas'], + 'historica':['historica', 'historicas', 'historico', 'historia'], + 'infantil':['infantil', 'kids'], + 'musical':['musical', 'musicales', 'musica'], + 'policial':['policial', 'policiaco', 'policiaca'], + 'recomendadas':['recomedada', 'recomendadas'], + 'religion':['religion', 'religiosa', 'religiosas'], + 'romantica':['romantica', 'romanticas', 'romantico'], + 'suspenso':['suspenso', 'suspense'], + 'thriller':['thriller', 'thrillers'], + 'western':['western', 'westerns', 'oeste western'] + } + string = re.sub(r'peliculas de |pelicula de la |peli |cine ','', string) + for genre, variants in genres_dict.items(): + if string in variants: + string = genre + + return string + +def remove_format(string): + logger.info() + #logger.debug('entra en remove: %s' % string) + string = string.rstrip() + string = re.sub(r'(\[|\[\/)(?:color|COLOR|b|B|i|I).*?\]|\[|\]|\(|\)|\:|\.', '', string) + #logger.debug('sale de remove: %s' % string) + return string + +def simplify(string): + + logger.info() + #logger.debug('entra en simplify: %s'%string) + string = remove_format(string) + string = string.replace('-',' ').replace('_',' ') + string = re.sub(r'\d+','', string) + string = string.strip() + string = string.decode('utf-8') + notilde = ''.join((c for c in unicodedata.normalize('NFD', unicode(string)) if unicodedata.category(c) != 'Mn')) + string = notilde.decode() + string = string.lower() + #logger.debug('sale de simplify: %s' % string) + + return string + +def add_languages(title, languages): + logger.info() + + if isinstance(languages, list): + for language in languages: + title = '%s %s' % (title, set_color(language, language)) + else: + title = '%s %s' % (title, set_color(languages, languages)) + return title + +def set_color(title, category): + logger.info() + + color_scheme = {'otro': 'white'} + + #logger.debug('category antes de remove: %s' % category) + category = remove_format(category).lower() + #logger.debug('category despues de remove: %s' % category) + # Lista de elementos posibles en el titulo + color_list = ['movie', 'tvshow', 'year', 'rating_1', 'rating_2', 'rating_3', 'quality', 'cast', 'lat', 'vose', + 'vos', 'vo', 'server', 'library', 'update', 'no_update'] + + # Se verifica el estado de la opcion de colores personalizados + custom_colors = config.get_setting('title_color') + + # Se Forma el diccionario de colores para cada elemento, la opcion esta activas utiliza la configuracion del + # usuario, si no pone el titulo en blanco. + if title not in ['', ' ']: + + for element in color_list: + if custom_colors: + color_scheme[element] = remove_format(config.get_setting('%s_color' % element)) + else: + color_scheme[element] = 'white' + if category in ['update', 'no_update']: + #logger.debug('title antes de updates: %s' % title) + title= re.sub(r'\[COLOR .*?\]','[COLOR %s]' % color_scheme[category],title) + else: + if category not in ['movie', 'tvshow', 'library', 'otro']: + title = "[COLOR %s][%s][/COLOR]"%(color_scheme[category], title) + else: + title = "[COLOR %s]%s[/COLOR]" % (color_scheme[category], title) + return title + +def set_lang(language): + logger.info() + + cast =['castellano','espanol','cast','esp','espaol', 'es','zc', 'spa', 'spanish', 'vc'] + lat=['latino','lat','la', 'espanol latino', 'espaol latino', 'zl', 'mx', 'co', 'vl'] + vose=['subtitulado','subtitulada','sub','sub espanol','vose','espsub','su','subs castellano', + 'sub: español', 'vs', 'zs', 'vs', 'english-spanish subs', 'ingles sub espanol'] + vos=['vos', 'sub ingles', 'engsub', 'vosi','ingles subtitulado', 'sub: ingles'] + vo=['ingles', 'en','vo', 'ovos', 'eng','v.o', 'english'] + + language = scrapertools.decodeHtmlentities(language) + old_lang = language + + language = simplify(language) + + #logger.debug('language before simplify: %s' % language) + #logger.debug('old language: %s' % old_lang) + if language in cast: + language = 'cast' + elif language in lat: + language = 'lat' + elif language in vose: + language = 'vose' + elif language in vos: + language = 'vos' + elif language in vo: + language = 'vo' + else: + language = 'otro' + + #logger.debug('language after simplify: %s' % language) + + return language + + + + + +def title_format(item): + logger.info() + + lang = False + valid = True + language_color = 'otro' + + #logger.debug('item.title antes de formatear: %s' % item.title.lower()) + + # TODO se deberia quitar cualquier elemento que no sea un enlace de la lista de findvideos para quitar esto + + #Palabras "prohibidas" en los titulos (cualquier titulo que contengas estas no se procesara en unify) + excluded_words = ['online', 'descarga', 'downloads', 'trailer', 'videoteca', 'gb', 'autoplay'] + + # Actions excluidos, (se define canal y action) los titulos que contengan ambos valores no se procesaran en unify + excluded_actions = [('videolibrary','get_episodes')] + + # Verifica si hay marca de visto de trakt + + visto = False + #logger.debug('titlo con visto? %s' % item.title) + + if '[[I]v[/I]]' in item.title or '[COLOR limegreen][v][/COLOR]' in item.title: + visto = True + + # Se elimina cualquier formato previo en el titulo + if item.action != '': + item.title = remove_format(item.title) + + #logger.debug('visto? %s' % visto) + + # Evita que aparezcan los idiomas en los mainlist de cada canal + if item.action == 'mainlist': + item.language ='' + + info = item.infoLabels + #logger.debug('item antes de formatear: %s'%item) + + if hasattr(item,'text_color'): + item.text_color='' + + #Verifica el item sea valido para ser formateado por unify + + if item.channel == 'trailertools' or (item.channel.lower(), item.action.lower()) in excluded_actions or \ + item.action=='': + valid = False + else: + for word in excluded_words: + if word in item.title.lower(): + valid = False + break + + if valid and item.unify!=False: + + # Formamos el titulo para serie, se debe definir contentSerieName + # o show en el item para que esto funcione. + if item.contentSerieName: + + # Si se tiene la informacion en infolabels se utiliza + if item.contentType == 'episode' and info['episode'] != '': + if info['title'] == '': + info['title'] = '%s - Episodio %s'% (info['tvshowtitle'], info['episode']) + elif 'Episode' in info['title']: + episode = info['title'].lower().replace('episode', 'episodio') + info['title'] = '%s - %s' % (info['tvshowtitle'], episode.capitalize()) + elif info['episodio_titulo']!='': + #logger.debug('info[episode_titulo]: %s' % info['episodio_titulo']) + if 'episode' in info['episodio_titulo'].lower(): + episode = info['episodio_titulo'].lower().replace('episode', 'episodio') + item.title = '%sx%s - %s' % (info['season'],info['episode'], episode.capitalize()) + else: + item.title = '%sx%s - %s' % (info['season'], info['episode'], info['episodio_titulo'].capitalize()) + else: + item.title = '%sx%s - %s' % (info['season'],info['episode'], info['title']) + item.title = set_color(item.title, 'tvshow') + + else: + + # En caso contrario se utiliza el titulo proporcionado por el canal + #logger.debug ('color_scheme[tvshow]: %s' % color_scheme['tvshow']) + item.title = '%s' % set_color(item.title, 'tvshow') + + elif item.contentTitle: + # Si el titulo no tiene contentSerieName entonces se formatea como pelicula + item.title = '%s' % set_color(item.contentTitle, 'movie') + if item.contentType=='movie': + item.context='Buscar esta pelicula en otros canales' + + if 'Novedades' in item.category and item.from_channel=='news': + #logger.debug('novedades') + item.title = '%s [%s]'%(item.title, item.channel) + + # Verificamos si item.language es una lista, si lo es se toma + # cada valor y se normaliza formado una nueva lista + + if hasattr(item,'language') and item.language !='': + #logger.debug('tiene language: %s'%item.language) + if isinstance(item.language, list): + language_list =[] + for language in item.language: + if language != '': + lang = True + language_list.append(set_lang(remove_format(language)).upper()) + #logger.debug('language_list: %s' % language_list) + simple_language = language_list + else: + # Si item.language es un string se normaliza + if item.language != '': + lang = True + simple_language = set_lang(item.language).upper() + else: + simple_language = '' + + item.language = simple_language + + # Damos formato al año si existiera y lo agregamos + # al titulo excepto que sea un episodio + if info and info.get("year", "") not in [""," "] and item.contentType != 'episode' and not info['season']: + try: + year = '%s' % set_color(info['year'], 'year') + item.title = item.title = '%s %s' % (item.title, year) + except: + logger.debug('infoLabels: %s'%info) + + # Damos formato al puntaje si existiera y lo agregamos al titulo + if info and info['rating'] and info['rating']!='0.0' and not info['season']: + + # Se normaliza el puntaje del rating + + rating_value = check_rating(info['rating']) + + # Asignamos el color dependiendo el puntaje, malo, bueno, muy bueno, en caso de que exista + + if rating_value: + value = float(rating_value) + if value <= 3: + color_rating = 'rating_1' + elif value > 3 and value <= 7: + color_rating = 'rating_2' + else: + color_rating = 'rating_3' + + rating = '%s' % rating_value + else: + rating = '' + color_rating = 'otro' + item.title = '%s %s' % (item.title, set_color(rating, color_rating)) + + # Damos formato a la calidad si existiera y lo agregamos al titulo + if item.quality: + quality = item.quality.strip() + item.title = '%s %s' % (item.title, set_color(quality, 'quality')) + else: + quality = '' + + # Damos formato al idioma si existiera y lo agregamos al titulo + if lang: + item.title = add_languages(item.title, simple_language) + + # Formato para actualizaciones de series en la videoteca sobreescribe los colores anteriores + + if item.channel=='videolibrary' and item.context!='': + if item.action=='get_seasons': + if 'Desactivar' in item.context[1]['title']: + item.title= '%s' % (set_color(item.title, 'update')) + if 'Activar' in item.context[1]['title']: + item.title= '%s' % (set_color(item.title, 'no_update')) + + # Damos formato al servidor si existiera + if item.server: + server = '%s' % set_color(item.server.strip().capitalize(), 'server') + + # Compureba si estamos en findvideos, y si hay server, si es asi no se muestra el + # titulo sino el server, en caso contrario se muestra el titulo normalmente. + + #logger.debug('item.title antes de server: %s'%item.title) + if item.action != 'play' and item.server: + item.title ='%s %s'%(item.title, server.strip()) + elif item.action == 'play' and item.server: + if item.quality == 'default': + quality = '' + #logger.debug('language_color: %s'%language_color) + item.title = '%s %s' % (server, set_color(quality,'quality')) + if lang: + item.title = add_languages(item.title, simple_language) + #logger.debug('item.title: %s' % item.title) + else: + item.title = '%s' % item.title + #logger.debug('item.title despues de server: %s' % item.title) + elif 'library' in item.action: + item.title = '%s' % set_color(item.title, 'library') + elif item.action == '' and item.title !='': + item.title='**- %s -**'%item.title + else: + item.title = '%s' % set_color(item.title, 'otro') + #logger.debug('antes de salir %s' % item.title) + if visto: + try: + check = u'\u221a' + + title = '[B][COLOR limegreen][%s][/COLOR][/B] %s' % (check, item.title.decode('utf-8')) + item.title = title.encode('utf-8') + except: + check = 'v' + title = '[B][COLOR limegreen][%s][/COLOR][/B] %s' % (check, item.title.decode('utf-8')) + item.title = title.encode('utf-8') + + return item + +def thumbnail_type(item): + logger.info() + + # Se comprueba que tipo de thumbnail se utilizara en findvideos, + # Poster o Logo del servidor + + thumb_type = config.get_setting('video_thumbnail_type') + #logger.debug('thumb_type: %s' % thumb_type) + info = item.infoLabels + #logger.debug('item.thumbnail: %s'%item.thumbnail) + + if info['thumbnail'] !='': + item.contentThumbnail = info['thumbnail'] + else: + item.contentThumbnail = item.thumbnail + + if item.action == 'play': + if thumb_type == 0: + if info and info['thumbnail'] != '': + item.thumbnail = info['thumbnail'] + elif thumb_type == 1: + from core.servertools import get_server_parameters + #logger.debug('item.server: %s'%item.server) + server_parameters = get_server_parameters(item.server.lower()) + item.thumbnail = server_parameters.get("thumbnail", "") + #logger.debug('thumbnail: %s' % item.thumb) + + return item.thumbnail + + +from decimal import * + + +def check_rating(rating): + # logger.debug("\n\nrating %s" % rating) + + def check_decimal_length(_rating): + """ + Dejamos que el float solo tenga un elemento en su parte decimal, "7.10" --> "7.1" + @param _rating: valor del rating + @type _rating: float + @return: devuelve el valor modificado si es correcto, si no devuelve None + @rtype: float|None + """ + # logger.debug("rating %s" % _rating) + + try: + # convertimos los deciamles p.e. 7.1 + return "%.1f" % round(_rating, 1) + except Exception, ex_dl: + template = "An exception of type %s occured. Arguments:\n%r" + message = template % (type(ex_dl).__name__, ex_dl.args) + logger.error(message) + return None + + def check_range(_rating): + """ + Comprobamos que el rango de rating sea entre 0.0 y 10.0 + @param _rating: valor del rating + @type _rating: float + @return: devuelve el valor si está dentro del rango, si no devuelve None + @rtype: float|None + """ + # logger.debug("rating %s" % _rating) + # fix para comparacion float + dec = Decimal(_rating) + if 0.0 <= dec <= 10.0: + # logger.debug("estoy en el rango!") + return _rating + else: + # logger.debug("NOOO estoy en el rango!") + return None + + def convert_float(_rating): + try: + return float(_rating) + except ValueError, ex_ve: + template = "An exception of type %s occured. Arguments:\n%r" + message = template % (type(ex_ve).__name__, ex_ve.args) + logger.error(message) + return None + + if type(rating) != float: + # logger.debug("no soy float") + if type(rating) == int: + # logger.debug("soy int") + rating = convert_float(rating) + elif type(rating) == str: + # logger.debug("soy str") + + rating = rating.replace("<", "") + rating = convert_float(rating) + + if rating is None: + # logger.debug("error al convertir str, rating no es un float") + # obtenemos los valores de numericos + new_rating = scrapertools.find_single_match(rating, "(\d+)[,|:](\d+)") + if len(new_rating) > 0: + rating = convert_float("%s.%s" % (new_rating[0], new_rating[1])) + + else: + logger.error("no se que soy!!") + # obtenemos un valor desconocido no devolvemos nada + return None + + if rating: + rating = check_decimal_length(rating) + rating = check_range(rating) + + return rating diff --git a/plugin.video.alfa/resources/settings.xml b/plugin.video.alfa/resources/settings.xml index 588682e8..950bf63b 100644 --- a/plugin.video.alfa/resources/settings.xml +++ b/plugin.video.alfa/resources/settings.xml @@ -51,6 +51,58 @@ + + + + + + + + + + + + + + + + + + + + From a96df6bd6795706ccf5d60cdba51207c6a59c6cd Mon Sep 17 00:00:00 2001 From: Unknown Date: Fri, 23 Feb 2018 16:02:38 -0300 Subject: [PATCH 2/2] placas --- plugin.video.alfa/channels/allpeliculas.py | 10 ++++---- plugin.video.alfa/channels/animeshd.py | 9 ++++---- plugin.video.alfa/channels/anitoonstv.py | 2 +- plugin.video.alfa/channels/bajui.py | 9 ++++---- plugin.video.alfa/channels/canalpelis.py | 15 ++++++------ plugin.video.alfa/channels/cartoonlatino.py | 2 +- .../channels/ciberpeliculashd.py | 23 ++++++++++++------- plugin.video.alfa/channels/cineasiaenlinea.py | 19 +++++++-------- plugin.video.alfa/channels/cinecalidad.py | 11 +++++---- plugin.video.alfa/channels/cinefox.py | 23 +++++++++++-------- plugin.video.alfa/channels/cinefoxtv.py | 10 ++++---- plugin.video.alfa/channels/cinemahd.py | 19 ++++++++++----- plugin.video.alfa/channels/cinetux.py | 22 ++++++++---------- plugin.video.alfa/platformcode/unify.py | 13 ++++++----- 14 files changed, 106 insertions(+), 81 deletions(-) diff --git a/plugin.video.alfa/channels/allpeliculas.py b/plugin.video.alfa/channels/allpeliculas.py index 591163c3..0aabc854 100644 --- a/plugin.video.alfa/channels/allpeliculas.py +++ b/plugin.video.alfa/channels/allpeliculas.py @@ -6,6 +6,7 @@ from core import scrapertools from core import servertools from core import tmdb from core.item import Item +from channelselector import get_thumb from platformcode import config, logger __modo_grafico__ = config.get_setting('modo_grafico', "allpeliculas") @@ -30,13 +31,14 @@ def mainlist(item): item.text_color = color1 itemlist.append(item.clone(title="Películas", action="lista", fanart="http://i.imgur.com/c3HS8kj.png", - url= host + "movies/newmovies?page=1", extra1 = 0)) + url= host + "movies/newmovies?page=1", extra1 = 0, + thumbnail=get_thumb('movies', auto=True))) itemlist.append(item.clone(title="Por genero", action="generos", fanart="http://i.imgur.com/c3HS8kj.png", - url= host + "movies/getGanres")) + url= host + "movies/getGanres", thumbnail=get_thumb('genres', auto=True))) itemlist.append(item.clone(title="Colecciones", action="colecciones", fanart="http://i.imgur.com/c3HS8kj.png", - url= host)) + url= host, thumbnail=get_thumb('colections', auto=True))) itemlist.append(item.clone(title="", action="")) - itemlist.append(item.clone(title="Buscar...", action="search")) + itemlist.append(item.clone(title="Buscar...", action="search", thumbnail=get_thumb('search', auto=True))) return itemlist diff --git a/plugin.video.alfa/channels/animeshd.py b/plugin.video.alfa/channels/animeshd.py index bfa87adf..d7915a10 100644 --- a/plugin.video.alfa/channels/animeshd.py +++ b/plugin.video.alfa/channels/animeshd.py @@ -6,6 +6,7 @@ import urllib from core import httptools from core import scrapertools from core import servertools +from channelselector import get_thumb from core import tmdb from core.item import Item from platformcode import logger, config @@ -40,14 +41,14 @@ def mainlist(item): itemlist.append(item.clone(title="Ultimas", action="lista", - thumbnail='https://s22.postimg.org/cb7nmhwv5/ultimas.png', + thumbnail=get_thumb('last', auto=True), fanart='https://s22.postimg.org/cb7nmhwv5/ultimas.png', url=host + '/ultimos' )) itemlist.append(item.clone(title="Todas", action="lista", - thumbnail='https://s18.postimg.org/fwvaeo6qh/todas.png', + thumbnail=get_thumb('all', auto=True), fanart='https://s18.postimg.org/fwvaeo6qh/todas.png', url=host + '/buscar?t=todos&q=' )) @@ -55,14 +56,14 @@ def mainlist(item): itemlist.append(item.clone(title="Generos", action="generos", url=host, - thumbnail='https://s3.postimg.org/5s9jg2wtf/generos.png', + thumbnail=get_thumb('genres', auto=True), fanart='https://s3.postimg.org/5s9jg2wtf/generos.png' )) itemlist.append(item.clone(title="Buscar", action="search", url=host + '/buscar?t=todos&q=', - thumbnail='https://s30.postimg.org/pei7txpa9/buscar.png', + thumbnail=get_thumb('search', auto=True), fanart='https://s30.postimg.org/pei7txpa9/buscar.png' )) diff --git a/plugin.video.alfa/channels/anitoonstv.py b/plugin.video.alfa/channels/anitoonstv.py index f273670b..5fcc9900 100644 --- a/plugin.video.alfa/channels/anitoonstv.py +++ b/plugin.video.alfa/channels/anitoonstv.py @@ -27,7 +27,7 @@ host = "http://www.anitoonstv.com" def mainlist(item): logger.info() - thumb_series = get_thumb("channels_tvshow.png") + thumb_series = get_thumb("tvshows", auto=True) autoplay.init(item.channel, list_servers, list_quality) itemlist = list() diff --git a/plugin.video.alfa/channels/bajui.py b/plugin.video.alfa/channels/bajui.py index 017562e3..fde86422 100644 --- a/plugin.video.alfa/channels/bajui.py +++ b/plugin.video.alfa/channels/bajui.py @@ -8,6 +8,7 @@ from core import scrapertools from core import servertools from core.item import Item from platformcode import logger +from channelselector import get_thumb def mainlist(item): @@ -15,13 +16,13 @@ def mainlist(item): itemlist = [] itemlist.append(Item(channel=item.channel, title="Películas", action="menupeliculas", url="http://www.bajui.org/descargas/categoria/2/peliculas", - fanart=item.fanart)) + fanart=item.fanart, thumbnail=get_thumb('movies', auto=True))) itemlist.append(Item(channel=item.channel, title="Series", action="menuseries", - fanart=item.fanart)) + fanart=item.fanart, thumbnail=get_thumb('tvshows', auto=True))) itemlist.append(Item(channel=item.channel, title="Documentales", action="menudocumentales", - fanart=item.fanart)) + fanart=item.fanart, thumbnail=get_thumb('documentaries', auto=True))) itemlist.append(Item(channel=item.channel, title="Buscar", action="search", - fanart=item.fanart)) + fanart=item.fanart, thumbnail=get_thumb('search', auto=True))) return itemlist diff --git a/plugin.video.alfa/channels/canalpelis.py b/plugin.video.alfa/channels/canalpelis.py index add2a7a7..cbea6079 100644 --- a/plugin.video.alfa/channels/canalpelis.py +++ b/plugin.video.alfa/channels/canalpelis.py @@ -15,6 +15,7 @@ from core.item import Item from core import channeltools from core import tmdb from platformcode import config, logger +from channelselector import get_thumb __channel__ = "canalpelis" @@ -51,24 +52,24 @@ def mainlist(item): logger.info() itemlist = [] - itemlist.append(item.clone(title="Peliculas", action="peliculas",thumbnail=thumbnail % 'peliculas', + itemlist.append(item.clone(title="Peliculas", action="peliculas",thumbnail=get_thumb('movies', auto=True), text_blod=True, page=0, viewcontent='movies', url=host + 'movies/', viewmode="movie_with_plot")) - itemlist.append(item.clone(title="Géneros", action="generos",thumbnail=thumbnail % 'generos', + itemlist.append(item.clone(title="Géneros", action="generos",thumbnail=get_thumb('genres', auto=True), text_blod=True, page=0, viewcontent='movies', url=host + 'genre/', viewmode="movie_with_plot")) - itemlist.append(item.clone(title="Año de Estreno", action="year_release", - text_blod=True, page=0, viewcontent='movies', - url=host + 'release/', viewmode="movie_with_plot")) + itemlist.append(item.clone(title="Año de Estreno", action="year_release", thumbnail=get_thumb('year', auto=True), + text_blod=True, page=0, viewcontent='movies', url=host + 'release/', + viewmode="movie_with_plot")) - itemlist.append(item.clone(title="Buscar", action="search",thumbnail=thumbnail % 'busqueda', + itemlist.append(item.clone(title="Buscar", action="search",thumbnail=get_thumb('search', auto=True), text_blod=True, url=host, page=0)) itemlist.append(item.clone(title="Series", action="series", extra='serie', url=host + 'tvshows/', viewmode="movie_with_plot", text_blod=True, viewcontent='movies', - thumbnail=thumbnail % 'series', page=0)) + thumbnail=get_thumb('tvshows', auto=True), page=0)) return itemlist diff --git a/plugin.video.alfa/channels/cartoonlatino.py b/plugin.video.alfa/channels/cartoonlatino.py index 23b59b61..8fcc8a60 100644 --- a/plugin.video.alfa/channels/cartoonlatino.py +++ b/plugin.video.alfa/channels/cartoonlatino.py @@ -25,7 +25,7 @@ list_quality = ['default'] def mainlist(item): logger.info() - thumb_series = get_thumb("channels_tvshow.png") + thumb_series = get_thumb('tvshows', auto=True) autoplay.init(item.channel, list_servers, list_quality) itemlist = list() itemlist.append(Item(channel=item.channel, action="lista", title="Series", url=host, diff --git a/plugin.video.alfa/channels/ciberpeliculashd.py b/plugin.video.alfa/channels/ciberpeliculashd.py index 3562697f..cc9c5a86 100644 --- a/plugin.video.alfa/channels/ciberpeliculashd.py +++ b/plugin.video.alfa/channels/ciberpeliculashd.py @@ -6,7 +6,7 @@ from core import servertools from core import tmdb from core.item import Item from platformcode import config, logger - +from channelselector import get_thumb __channel__='ciberpeliculashd' host = "http://ciberpeliculashd.net" @@ -21,16 +21,23 @@ def mainlist(item): logger.info() itemlist = [] itemlist.append(Item(channel = item.channel, title = "Películas", text_bold = True, folder = False)) - itemlist.append(Item(channel = item.channel, title = " Novedades", action = "peliculas", url = host + "/?peli=1")) - itemlist.append(Item(channel = item.channel, title = " Por género", action = "filtro", url = host, extra = "categories" )) - itemlist.append(Item(channel = item.channel, title = " Por calidad", action = "filtro", url = host, extra = "qualitys")) - itemlist.append(Item(channel = item.channel, title = " Por idioma", action = "filtro", url = host, extra = "languages")) + itemlist.append(Item(channel = item.channel, title = " Novedades", action = "peliculas", url = host + "/?peli=1", + thumbnail=get_thumb('newest', auto=True))) + itemlist.append(Item(channel = item.channel, title = " Por género", action = "filtro", url = host, + extra = "categories", thumbnail=get_thumb('genres', auto=True))) + itemlist.append(Item(channel = item.channel, title = " Por calidad", action = "filtro", url = host, + extra = "qualitys", thumbnail=get_thumb('quality', auto=True))) + itemlist.append(Item(channel = item.channel, title = " Por idioma", action = "filtro", url = host, + extra = "languages", thumbnail=get_thumb('language', auto=True))) itemlist.append(Item(channel = item.channel, title = "")) itemlist.append(Item(channel = item.channel, title = "Series", text_bold = True, folder = False)) - itemlist.append(Item(channel = item.channel, title = " Novedades", action = "series", url = host + "/series/?peli=1")) - itemlist.append(Item(channel = item.channel, title = " Nuevos Capitulos", action = "nuevos_capitulos", url = host + "/series/?peli=1")) + itemlist.append(Item(channel = item.channel, title = " Novedades", action = "series", + url = host +"/series/?peli=1", thumbnail=get_thumb('newest', auto=True))) + itemlist.append(Item(channel = item.channel, title = " Nuevos Capitulos", action = "nuevos_capitulos", + url = host + "/series/?peli=1", thumbnail=get_thumb('new episodes', auto=True))) itemlist.append(Item(channel = item.channel, title = "")) - itemlist.append(Item(channel = item.channel, title = "Buscar", action = "search", url = host + "/?s=")) + itemlist.append(Item(channel = item.channel, title = "Buscar", action = "search", url = host + "/?s=", + thumbnail=get_thumb('search', auto=True))) return itemlist def nuevos_capitulos(item): diff --git a/plugin.video.alfa/channels/cineasiaenlinea.py b/plugin.video.alfa/channels/cineasiaenlinea.py index cefff938..968b9095 100755 --- a/plugin.video.alfa/channels/cineasiaenlinea.py +++ b/plugin.video.alfa/channels/cineasiaenlinea.py @@ -8,6 +8,7 @@ from core import servertools from core import tmdb from core.item import Item from platformcode import config, logger +from channelselector import get_thumb host = "http://www.cineasiaenlinea.com/" __channel__='cineasiaenlinea' @@ -36,19 +37,19 @@ def mainlist(item): itemlist = [] itemlist.append(item.clone(action="peliculas", title="Novedades", url=host + "archivos/peliculas", - thumbnail="https://raw.githubusercontent.com/master-1970/resources/master/images/genres" - "/0/Directors%20Chair.png", text_color=color1)) + thumbnail=get_thumb('newest', auto=True), text_color=color1,)) itemlist.append(item.clone(action="peliculas", title="Estrenos", url=host + "archivos/estrenos", - thumbnail="https://raw.githubusercontent.com/master-1970/resources/master/images/genres" - "/0/Directors%20Chair.png", text_color=color1)) + thumbnail=get_thumb('premieres', auto=True), text_color=color1)) itemlist.append(item.clone(action="indices", title="Por géneros", url=host, - thumbnail="https://raw.githubusercontent.com/master-1970/resources/master/images/genres" - "/0/Genre.png", text_color=color1)) - itemlist.append(item.clone(action="indices", title="Por país", url=host, text_color=color1)) - itemlist.append(item.clone(action="indices", title="Por año", url=host, text_color=color1)) + thumbnail=get_thumb('genres', auto=True), text_color=color1)) + itemlist.append(item.clone(action="indices", title="Por país", url=host, text_color=color1, + thumbnail=get_thumb('country', auto=True))) + itemlist.append(item.clone(action="indices", title="Por año", url=host, text_color=color1, + thumbnail=get_thumb('year', auto=True))) itemlist.append(item.clone(title="", action="")) - itemlist.append(item.clone(action="search", title="Buscar...", text_color=color3)) + itemlist.append(item.clone(action="search", title="Buscar...", text_color=color3, + thumbnail=get_thumb('search', auto=True))) itemlist.append(item.clone(action="configuracion", title="Configurar canal...", text_color="gold", folder=False)) return itemlist diff --git a/plugin.video.alfa/channels/cinecalidad.py b/plugin.video.alfa/channels/cinecalidad.py index 55981dd3..a2d42f4f 100644 --- a/plugin.video.alfa/channels/cinecalidad.py +++ b/plugin.video.alfa/channels/cinecalidad.py @@ -11,6 +11,7 @@ from core import servertools from core import tmdb from core.item import Item from platformcode import config, logger +from channelselector import get_thumb IDIOMAS = {'latino': 'Latino', 'castellano': 'Español', 'portugues': 'Portugues'} list_language = IDIOMAS.values() @@ -86,34 +87,34 @@ def submenu(item): title=idioma.capitalize(), action="peliculas", url=host, - thumbnail='https://s8.postimg.org/6wqwy2c2t/peliculas.png', + thumbnail=get_thumb('movies', auto=True), fanart='https://s8.postimg.org/6wqwy2c2t/peliculas.png', )) itemlist.append(Item(channel=item.channel, title="Destacadas", action="peliculas", url=host + "/genero-" + idioma + "/" + idioma2 + "/", - thumbnail='https://s30.postimg.org/humqxklsx/destacadas.png', + thumbnail=get_thumb('hot', auto=True), fanart='https://s30.postimg.org/humqxklsx/destacadas.png', )) itemlist.append(Item(channel=item.channel, title="Generos", action="generos", url=host + "/genero-" + idioma, - thumbnail='https://s3.postimg.org/5s9jg2wtf/generos.png', + thumbnail=get_thumb('genres', auto=True), fanart='https://s3.postimg.org/5s9jg2wtf/generos.png', )) itemlist.append(Item(channel=item.channel, title="Por Año", action="anyos", url=host + "/" + idioma + "-por-ano", - thumbnail='https://s8.postimg.org/7eoedwfg5/pora_o.png', + thumbnail=get_thumb('year', auto=True), fanart='https://s8.postimg.org/7eoedwfg5/pora_o.png', )) itemlist.append(Item(channel=item.channel, title="Buscar", action="search", - thumbnail='https://s30.postimg.org/pei7txpa9/buscar.png', + thumbnail=get_thumb('search', auto=True), url=host + '/apiseries/seriebyword/', fanart='https://s30.postimg.org/pei7txpa9/buscar.png', host=item.host, diff --git a/plugin.video.alfa/channels/cinefox.py b/plugin.video.alfa/channels/cinefox.py index 20949389..1e3aafa2 100644 --- a/plugin.video.alfa/channels/cinefox.py +++ b/plugin.video.alfa/channels/cinefox.py @@ -9,6 +9,7 @@ from core import scrapertools from core import servertools from core.item import Item from platformcode import config, logger +from channelselector import get_thumb __modo_grafico__ = config.get_setting('modo_grafico', 'cinefox') __perfil__ = int(config.get_setting('perfil', "cinefox")) @@ -32,20 +33,22 @@ def mainlist(item): itemlist = [] itemlist.append(item.clone(action="seccion_peliculas", title="Películas", fanart="http://i.imgur.com/PjJaW8o.png", - url=host + "/catalogue?type=peliculas")) + url=host + "/catalogue?type=peliculas", thumbnail=get_thumb('movies', auto=True))) # Seccion series itemlist.append(item.clone(action="seccion_series", title="Series", - url=host + "/ultimos-capitulos", fanart="http://i.imgur.com/9loVksV.png")) + url=host + "/ultimos-capitulos", fanart="http://i.imgur.com/9loVksV.png", + thumbnail=get_thumb('tvshows', auto=True))) itemlist.append(item.clone(action="peliculas", title="Documentales", fanart="http://i.imgur.com/Q7fsFI6.png", - url=host + "/catalogue?type=peliculas&genre=documental")) + url=host + "/catalogue?type=peliculas&genre=documental", + thumbnail=get_thumb('documentaries', auto=True))) if config.get_setting("adult_mode") != 0: itemlist.append(item.clone(action="peliculas", title="Sección Adultos +18", url=host + "/catalogue?type=adultos", - fanart="http://i.imgur.com/kIvE1Zh.png")) + fanart="http://i.imgur.com/kIvE1Zh.png", thumbnail=get_thumb('adults', auto=True))) - itemlist.append(item.clone(title="Buscar...", action="local_search")) + itemlist.append(item.clone(title="Buscar...", action="local_search", thumbnail=get_thumb('search', auto=True))) itemlist.append(item.clone(title="Configurar canal...", text_color="gold", action="configuracion", folder=False)) return itemlist @@ -254,9 +257,10 @@ def seccion_peliculas(item): itemlist = [] # Seccion peliculas itemlist.append(item.clone(action="peliculas", title="Novedades", fanart="http://i.imgur.com/PjJaW8o.png", - url=host + "/catalogue?type=peliculas")) + url=host + "/catalogue?type=peliculas", thumbnail=get_thumb('newest', auto=True))) itemlist.append(item.clone(action="peliculas", title="Estrenos", - url=host + "/estrenos-de-cine", fanart="http://i.imgur.com/PjJaW8o.png")) + url=host + "/estrenos-de-cine", fanart="http://i.imgur.com/PjJaW8o.png", + thumbnail=get_thumb('premieres', auto=True))) itemlist.append(item.clone(action="filtro", title="Filtrar películas", extra="peliculas", url=host + "/catalogue?type=peliculas", fanart="http://i.imgur.com/PjJaW8o.png")) @@ -281,10 +285,11 @@ def seccion_series(item): itemlist = [] # Seccion series itemlist.append(item.clone(action="ultimos", title="Últimos capítulos", - url=host + "/ultimos-capitulos", fanart="http://i.imgur.com/9loVksV.png")) + url=host + "/ultimos-capitulos", fanart="http://i.imgur.com/9loVksV.png", + thumbnail=get_thumb('new episodes', auto=True))) itemlist.append(item.clone(action="series", title="Series recientes", url=host + "/catalogue?type=series", - fanart="http://i.imgur.com/9loVksV.png")) + fanart="http://i.imgur.com/9loVksV.png", thumbnail=get_thumb('recents', auto=True))) itemlist.append(item.clone(action="filtro", title="Filtrar series", extra="series", url=host + "/catalogue?type=series", fanart="http://i.imgur.com/9loVksV.png")) diff --git a/plugin.video.alfa/channels/cinefoxtv.py b/plugin.video.alfa/channels/cinefoxtv.py index 07b60ee6..9921dd40 100644 --- a/plugin.video.alfa/channels/cinefoxtv.py +++ b/plugin.video.alfa/channels/cinefoxtv.py @@ -9,6 +9,7 @@ from core import servertools from core import tmdb from core.item import Item from platformcode import config, logger +from channelselector import get_thumb host = 'http://verhdpelis.com/' headers = [['User-Agent', 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0'], @@ -49,21 +50,20 @@ def mainlist(item): itemlist = [] - itemlist.append(item.clone(title="Todas", action="lista", thumbnail='https://s18.postimg.org/fwvaeo6qh/todas.png', + itemlist.append(item.clone(title="Todas", action="lista", thumbnail=get_thumb('all', auto=True), fanart='https://s18.postimg.org/fwvaeo6qh/todas.png', extra='peliculas/', url=host + 'page/1.html')) itemlist.append( - itemlist[-1].clone(title="Generos", action="generos", thumbnail='https://s3.postimg.org/5s9jg2wtf/generos.png', + itemlist[-1].clone(title="Generos", action="generos", thumbnail=get_thumb('genres', auto=True), fanart='https://s3.postimg.org/5s9jg2wtf/generos.png', url=host)) itemlist.append( - itemlist[-1].clone(title="Mas Vistas", action="lista", thumbnail='https://s9.postimg.org/wmhzu9d7z/vistas.png', + itemlist[-1].clone(title="Mas Vistas", action="lista", thumbnail=get_thumb('more watched', auto=True), fanart='https://s9.postimg.org/wmhzu9d7z/vistas.png', url=host + 'top-peliculas-online/1.html')) - itemlist.append(itemlist[-1].clone(title="Buscar", action="search", - thumbnail='https://s30.postimg.org/pei7txpa9/buscar.png', + itemlist.append(itemlist[-1].clone(title="Buscar", action="search", thumbnail=get_thumb('search', auto=True), fanart='https://s30.postimg.org/pei7txpa9/buscar.png', url=host + 'search/')) return itemlist diff --git a/plugin.video.alfa/channels/cinemahd.py b/plugin.video.alfa/channels/cinemahd.py index 9cf46904..236cdf0b 100644 --- a/plugin.video.alfa/channels/cinemahd.py +++ b/plugin.video.alfa/channels/cinemahd.py @@ -19,12 +19,17 @@ def mainlist(item): logger.info() itemlist = list() - itemlist.append(item.clone(title="Ultimas", action="list_all", url=host)) - itemlist.append(item.clone(title="Generos", action="section", section='genre')) - itemlist.append(item.clone(title="Por Calidad", action="section", section='quality')) - itemlist.append(item.clone(title="Por Año", action="section", section='year')) - itemlist.append(item.clone(title="Alfabetico", action="section", section='alpha')) - itemlist.append(item.clone(title="Buscar", action="search", url=host+'?s=')) + itemlist.append(item.clone(title="Ultimas", action="list_all", url=host, thumbnail=get_thumb('last', auto=True))) + itemlist.append(item.clone(title="Generos", action="section", section='genre', + thumbnail=get_thumb('genres', auto=True))) + itemlist.append(item.clone(title="Por Calidad", action="section", section='quality', + thumbnail=get_thumb('quality', auto=True))) + itemlist.append(item.clone(title="Por Año", action="section", section='year', + thumbnail=get_thumb('year', auto=True))) + itemlist.append(item.clone(title="Alfabetico", action="section", section='alpha', + thumbnail=get_thumb('alphabet', auto=True))) + itemlist.append(item.clone(title="Buscar", action="search", url=host+'?s=', + thumbnail=get_thumb('search', auto=True))) return itemlist @@ -40,6 +45,8 @@ def list_all(item): logger.info() itemlist = [] + data = get_source(item.url) + if item.section == 'alpha': patron = '\d+.*?(.*?).*?' patron += '(\d{4}).*?Qlty>(.*?)' diff --git a/plugin.video.alfa/channels/cinetux.py b/plugin.video.alfa/channels/cinetux.py index acbe0c53..578bb373 100644 --- a/plugin.video.alfa/channels/cinetux.py +++ b/plugin.video.alfa/channels/cinetux.py @@ -6,6 +6,7 @@ from core import servertools from core import tmdb from core.item import Item from platformcode import config, logger +from channelselector import get_thumb CHANNEL_HOST = "http://www.cinetux.io/" @@ -32,28 +33,25 @@ def mainlist(item): titulo = "Peliculas (%s)" %total itemlist.append(item.clone(title=titulo, text_color=color2, action="", text_bold=True)) itemlist.append(item.clone(action="peliculas", title=" Novedades", url=CHANNEL_HOST + "pelicula", - thumbnail="https://raw.githubusercontent.com/master-1970/resources/master/images/genres" - "/0/Directors%20Chair.png", + thumbnail=get_thumb('newest', auto=True), text_color=color1)) itemlist.append(item.clone(action="destacadas", title=" Destacadas", url=CHANNEL_HOST + "mas-vistos/", - thumbnail="https://raw.githubusercontent.com/master-1970/resources/master/images/genres" - "/0/Favorites.png", + thumbnail=get_thumb('hot', auto=True), text_color=color1)) - itemlist.append(item.clone(action="idioma", title=" Por idioma", text_color=color1)) + itemlist.append(item.clone(action="idioma", title=" Por idioma", text_color=color1, + thumbnail=get_thumb('language', auto=True))) itemlist.append(item.clone(action="generos", title=" Por géneros", url=CHANNEL_HOST, - thumbnail="https://raw.githubusercontent.com/master-1970/resources/master/images/genres" - "/0/Genre.png", + thumbnail=get_thumb('genres', auto=True), text_color=color1)) itemlist.append(item.clone(title="Documentales", text_bold=True, text_color=color2, action="")) itemlist.append(item.clone(action="peliculas", title=" Novedades", url=CHANNEL_HOST + "genero/documental/", text_color=color1, - thumbnail="https://raw.githubusercontent.com/master-1970/resources/master/images/genres" - "/0/Documentaries.png")) + thumbnail=get_thumb('newest', auto=True))) itemlist.append(item.clone(action="peliculas", title=" Por orden alfabético", text_color=color1, url=CHANNEL_HOST + "genero/documental/?orderby=title&order=asc&gdsr_order=asc", - thumbnail="https://raw.githubusercontent.com/master-1970/resources/master/images/genres" - "/0/A-Z.png")) + thumbnail=get_thumb('alphabet', auto=True))) itemlist.append(item.clone(title="", action="")) - itemlist.append(item.clone(action="search", title="Buscar...", text_color=color3)) + itemlist.append(item.clone(action="search", title="Buscar...", text_color=color3, + thumbnail=get_thumb('search', auto=True))) itemlist.append(item.clone(action="configuracion", title="Configurar canal...", text_color="gold", folder=False)) return itemlist diff --git a/plugin.video.alfa/platformcode/unify.py b/plugin.video.alfa/platformcode/unify.py index 1e6227f6..f11cadc7 100644 --- a/plugin.video.alfa/platformcode/unify.py +++ b/plugin.video.alfa/platformcode/unify.py @@ -27,20 +27,21 @@ thumb_dict = {"movies": "https://s10.postimg.org/fxtqzdog9/peliculas.png", "newest": "https://s10.postimg.org/g1s5tf1bt/novedades.png", "last": "https://s10.postimg.org/i6ciuk0eh/ultimas.png", "hot": "https://s10.postimg.org/yu40x8q2x/destacadas.png", - "year": "https://s10.postimg.org/egcw1womh/a_o.png", + "year": "https://s10.postimg.org/atzrqg921/a_o.png", "alphabet": "https://s10.postimg.org/4dy3ytmgp/a-z.png", "recomended": "https://s10.postimg.org/7xk1oqccp/recomendadas.png", - "more_watched": "https://s10.postimg.org/c6orr5neh/masvistas.png", - "more_voted": "https://s10.postimg.org/c6orr5neh/masvistas.png", + "more watched": "https://s10.postimg.org/c6orr5neh/masvistas.png", + "more voted": "https://s10.postimg.org/c6orr5neh/masvistas.png", "favorites": "https://s10.postimg.org/rtg147gih/favoritas.png", "colections": "https://s10.postimg.org/ywnwjvytl/colecciones.png", "categories": "https://s10.postimg.org/v0ako5lmh/categorias.png", "premieres": "https://s10.postimg.org/sk8r9xdq1/estrenos.png", "documentaries": "https://s10.postimg.org/68aygmmcp/documentales.png", - "language": "https://s10.postimg.org/hknjykfnt/idioma.png", - "new_episodes": "https://s10.postimg.org/fu4iwpnqh/nuevoscapitulos.png", - "country": "https://s10.postimg.org/hlxhrrjzt/pais.png", + "language": "https://s10.postimg.org/6wci189ft/idioma.png", + "new episodes": "https://s10.postimg.org/fu4iwpnqh/nuevoscapitulos.png", + "country": "https://s10.postimg.org/yz0h81j15/pais.png", "adults": "https://s10.postimg.org/s8raxc51l/adultos.png", + "recents": "https://s10.postimg.org/649u24kp5/recents.png", "accion": "https://s14.postimg.org/sqy3q2aht/action.png", "adolescente" : "https://s10.postimg.org/inq7u4p61/teens.png", "adultos": "https://s10.postimg.org/s8raxc51l/adultos.png",