diff --git a/channels/autorenumber.py b/channels/autorenumber.py index 6646327e..e0146a71 100644 --- a/channels/autorenumber.py +++ b/channels/autorenumber.py @@ -44,11 +44,25 @@ def config_item(item): tvdb.find_and_set_infoLabels(item) data = '' data = add_season(data) - if not item.infoLabels['tvdb_id']: - heading = 'TVDB ID' - item.infoLabels['tvdb_id'] = platformtools.dialog_numeric(0, heading) + title = item.show + count = 0 + + while not item.infoLabels['tvdb_id']: + try: + item.show = platformtools.dialog_input(default=item.show, heading=config.get_localized_string(30112)) + tvdb.find_and_set_infoLabels(item) + count = count + 1 + except: + heading = config.get_localized_string(70704) + item.infoLabels['tvdb_id'] = platformtools.dialog_numeric(0, heading) data.append(item.infoLabels['tvdb_id']) - write_data(item.from_channel, item.show, data) + if item.infoLabels['tvdb_id'] != 0: + write_data(item.from_channel, title, data) + else: + message = config.get_localized_string(60444) + heading = item.show.strip() + platformtools.dialog_notification(heading, message) + def add_season(data=None): @@ -59,6 +73,7 @@ def add_season(data=None): if season != "": heading = config.get_localized_string(70687) episode = platformtools.dialog_numeric(0, heading) + if episode == "0": heading = config.get_localized_string(70688) special = platformtools.dialog_numeric(0, heading) @@ -92,6 +107,8 @@ def write_data(channel, show, data): heading = show.strip() platformtools.dialog_notification(heading, message) + + def renumber(itemlist, item='', typography=''): log() @@ -118,7 +135,7 @@ def renumber(itemlist, item='', typography=''): if E == 0: epList.append([0, SP]) E = 1 - if episodes['airedEpisodeNumber'] >= E: + if episodes['airedEpisodeNumber'] >= E or episodes['airedSeason'] > S: epList.append([episodes['airedSeason'], episodes['airedEpisodeNumber']]) page = page + 1 else: diff --git a/channels/tvmoviedb.py b/channels/tvmoviedb.py index 24bc74a2..30486b7f 100644 --- a/channels/tvmoviedb.py +++ b/channels/tvmoviedb.py @@ -14,6 +14,8 @@ from core import trakt_tools from platformcode import config, logger from platformcode import platformtools import xbmc, xbmcaddon +from channelselector import get_thumb +from channels.support import typo, thumb addon = xbmcaddon.Addon('metadata.themoviedb.org') def_lang = addon.getSetting('language') @@ -46,38 +48,39 @@ if langi == 'auto': adult_mal = config.get_setting('adult_mal', "tvmoviedb") mal_ck = "MzE1MDQ2cGQ5N2llYTY4Z2xwbGVzZjFzbTY=" images_predef = "https://raw.githubusercontent.com/master-1970/resources/master/images/genres/" -default_fan = filetools.join(config.get_runtime_path(), "fanart1.jpg") +default_fan = filetools.join(config.get_runtime_path(), "fanart.jpg") +logger.info('FANART= '+default_fan) def mainlist(item): logger.info() - item.text_color = color1 itemlist = [] - - itemlist.append(item.clone(title=config.get_localized_string(70021), action="", text_color=color2)) + # TMDB + itemlist.append(item.clone(title=typo(config.get_localized_string(70021), 'bold'), action="")) itemlist.append(item.clone(title=config.get_localized_string(70022), action="tmdb", extra="movie", - thumbnail="%s0/Movies.png" % images_predef)) + thumbnail=get_thumb('search_movie.png'))) itemlist.append(item.clone(title=config.get_localized_string(70023), action="tmdb", extra="tv", - thumbnail=images_predef + "0/TV%20Series.png")) - itemlist.append(item.clone(title=config.get_localized_string(70024), action="", text_color=color2)) + thumbnail=get_thumb('search_tvshow.png'))) + # Filmaffinity + itemlist.append(item.clone(title=typo(config.get_localized_string(70024), 'bold'), action="")) itemlist.append(item.clone(title=config.get_localized_string(70022), action="filmaf", extra="movie", - thumbnail="%s0/Movies.png" % images_predef)) + thumbnail=get_thumb('search_movie.png'))) itemlist.append(item.clone(title=config.get_localized_string(70023), action="filmaf", extra="tv", - thumbnail=images_predef + "0/TV%20Series.png")) - itemlist.append(item.clone(title=config.get_localized_string(70025), action="", text_color=color2)) + thumbnail=get_thumb('search_tvshow.png'))) + # IMDB + itemlist.append(item.clone(title=typo(config.get_localized_string(70025), 'bold'), action="")) itemlist.append(item.clone(title=config.get_localized_string(70022), action="imdb", extra="movie", url='&title_type=feature,tv_movie', - thumbnail="%s0/Movies.png" % images_predef)) + thumbnail=get_thumb('search_movie.png'))) itemlist.append(item.clone(title=config.get_localized_string(70023), action="imdb", extra="tv", url='&title_type=tv_series,tv_special,mini_series', - thumbnail=images_predef + "0/TV%20Series.png")) + thumbnail=get_thumb('search_tvshow.png'))) itemlist.append( - item.clone(title=config.get_localized_string(70415), action="trakt", text_color=color2, thumbnail="http://i.imgur.com/5sQjjuk.png")) + item.clone(title=typo(config.get_localized_string(70415), 'bold'), action="trakt", thumbnail="http://i.imgur.com/5sQjjuk.png")) itemlist.append( - item.clone(title=config.get_localized_string(70026), action="mal", text_color=color2, thumbnail="http://i.imgur.com/RhsYWmd.png")) - itemlist.append(item.clone(title="", action="")) + item.clone(title=typo(config.get_localized_string(70026), 'bold'), action="mal", thumbnail="http://i.imgur.com/RhsYWmd.png",)) itemlist.append( - item.clone(title=config.get_localized_string(70027), action="configuracion", text_color=color6, folder=False)) + item.clone(title=typo(config.get_localized_string(70027), 'color kod'), action="configuracion", folder=False)) return itemlist @@ -154,9 +157,8 @@ def tmdb(item): else: itemlist.append(item.clone(title=config.get_localized_string(70031), action="listado_tmdb", search={'url': item.extra + "/on_the_air", 'language': langt, 'page': 1})) - itemlist.append(item.clone(title=config.get_localized_string(70032), action="indices_tmdb", - thumbnail="%s0/Genres.png" % images_predef)) - itemlist.append(item.clone(title=config.get_localized_string(70042), action="indices_tmdb", thumbnail="%s0/Year.png" % images_predef)) + itemlist.append(item.clone(title=config.get_localized_string(70032), action="indices_tmdb")) + itemlist.append(item.clone(title=config.get_localized_string(70042), action="indices_tmdb")) if item.extra == "movie": itemlist.append(item.clone(title=config.get_localized_string(70033), action="listado_tmdb", @@ -175,8 +177,8 @@ def tmdb(item): itemlist.append(item.clone(title=config.get_localized_string(70037), action="search_", search={'url': "search/person", 'language': langt, 'page': 1}, crew=True)) - itemlist.append(item.clone(title=config.get_localized_string(70038), action="filtro", text_color=color4)) - itemlist.append(item.clone(title=config.get_localized_string(70039), action="filtro", text_color=color4)) + itemlist.append(item.clone(title=config.get_localized_string(70038), action="filtro", )) + itemlist.append(item.clone(title=config.get_localized_string(70039), action="filtro", )) return itemlist @@ -191,9 +193,8 @@ def imdb(item): if item.extra == "movie": itemlist.append(item.clone(title=config.get_localized_string(70030), action="listado_imdb", url="http://www.imdb.com/showtimes/location?ref_=inth_ov_sh_sm")) - itemlist.append(item.clone(title=config.get_localized_string(70032), action="indices_imdb", - thumbnail="%s0/Genres.png" % images_predef)) - itemlist.append(item.clone(title=config.get_localized_string(70042), action="indices_imdb", thumbnail="%s0/Year.png" % images_predef)) + itemlist.append(item.clone(title=config.get_localized_string(70032), action="indices_imdb")) + itemlist.append(item.clone(title=config.get_localized_string(70042), action="indices_imdb")) if item.extra == "movie": itemlist.append(item.clone(title=config.get_localized_string(70033), action="listado_imdb", @@ -204,13 +205,13 @@ def imdb(item): if config.get_platform() != "plex": title = item.contentType.replace("movie", config.get_localized_string(70283)).replace("tvshow", "serie") - itemlist.append(item.clone(title="Buscar %s" % title, action="search_", + itemlist.append(item.clone(title=config.get_localized_string(70035) % title, action="search_", url="http://www.imdb.com/search/title?title=" + item.url)) itemlist.append(item.clone(title=config.get_localized_string(70036), action="search_", url="http://www.imdb.com/search/name?name=")) - itemlist.append(item.clone(title=config.get_localized_string(70038), action="filtro_imdb", text_color=color4)) + itemlist.append(item.clone(title=config.get_localized_string(70038), action="filtro_imdb", )) return itemlist @@ -243,30 +244,29 @@ def filmaf(item): itemlist.append(item.clone(title=config.get_localized_string(70044), action="indices_fa", extra="sagas", url="http://www.filmaffinity.com/%s/movie-groups-all.php" % langf)) itemlist.append(item.clone(title=config.get_localized_string(70045), action="indices_fa", - url='http://m.filmaffinity.com/%s/topics.php' % langf, text_color=color3)) + url='http://m.filmaffinity.com/%s/topics.php' % langf, )) if config.get_platform() != "plex": - itemlist.append(item.clone(title=config.get_localized_string(70046), action="search_", text_color=color4, + itemlist.append(item.clone(title=config.get_localized_string(70046), action="search_", url="http://m.filmaffinity.com/%s/search.php?stype=title&stext=" % langf)) - itemlist.append(item.clone(title=config.get_localized_string(70036), action="search_", text_color=color4, + itemlist.append(item.clone(title=config.get_localized_string(70036), action="search_", url="http://m.filmaffinity.com/%s/search.php?stype=cast&stext=" % langf)) - itemlist.append(item.clone(title=config.get_localized_string(70047), action="search_", text_color=color4, + itemlist.append(item.clone(title=config.get_localized_string(70047), action="search_", url="http://m.filmaffinity.com/%s/search.php?stype=director&stext=" % langf)) - itemlist.append(item.clone(title=config.get_localized_string(70038), action="filtro_fa", text_color=color4, extra="top")) - itemlist.append(item.clone(title=config.get_localized_string(70048), action="cuenta_fa", text_color=color3)) + itemlist.append(item.clone(title=config.get_localized_string(70038), action="filtro_fa", extra="top")) + itemlist.append(item.clone(title=config.get_localized_string(70048), action="cuenta_fa", )) return itemlist def trakt(item): itemlist = [] - item.text_color = color1 token_auth = config.get_setting("token_trakt", "trakt") page = "?page=1&limit=20&extended=full" if not item.extra: item.extra = "movie" - itemlist.append(item.clone(title="[COLOR yellow][B]%s[/B][/COLOR]" % config.get_localized_string(70416), action="")) + itemlist.append(item.clone(title=typo(config.get_localized_string(70416), 'bold'), action="")) itemlist.append(item.clone(title=config.get_localized_string(70049), action="acciones_trakt", url="movies/popular%s" % page)) itemlist.append( item.clone(title=config.get_localized_string(70050), action="acciones_trakt", url="movies/trending%s" % page)) @@ -276,7 +276,7 @@ def trakt(item): if token_auth: itemlist.append(item.clone(title=config.get_localized_string(70052), action="acciones_trakt", url="recommendations/movies?limit=100&extended=full", pagina=0)) - itemlist.append(item.clone(title="[COLOR yellow][B]%s[/B][/COLOR]" % config.get_localized_string(70417), action="",)) + itemlist.append(item.clone(title=typo(config.get_localized_string(70417), 'bold'), action="",)) item.extra = "show" itemlist.append(item.clone(title=config.get_localized_string(70049), action="acciones_trakt", url="shows/popular%s" % page)) itemlist.append(item.clone(title=config.get_localized_string(70050), action="acciones_trakt", url="shows/trending%s" % page)) @@ -286,7 +286,7 @@ def trakt(item): if token_auth: itemlist.append(item.clone(title=config.get_localized_string(70052), action="acciones_trakt", url="recommendations/shows?limit=100&extended=full", pagina=0)) - itemlist.append(item.clone(title="[COLOR red][B]%s[/B][/COLOR]" % config.get_localized_string(70048), extra="cuenta")) + itemlist.append(item.clone(title=typo(config.get_localized_string(70048), 'color kod bold'), extra="cuenta")) else: item.extra = "movie" # Se comprueba si existe un token guardado y sino se ejecuta el proceso de autentificación @@ -294,7 +294,7 @@ def trakt(item): #folder = (config.get_platform() == "plex") itemlist.append(item.clone(title=config.get_localized_string(70054), action="auth_trakt", folder=folder)) else: - itemlist.append(item.clone(title=config.get_localized_string(70055), action="", text_color=color2)) + itemlist.append(item.clone(title=config.get_localized_string(70055), action="", )) itemlist.append( item.clone(title=config.get_localized_string(60651), action="acciones_trakt", url="users/me/watchlist/movies%s" % page, order="added", how="desc")) @@ -302,7 +302,7 @@ def trakt(item): item.clone(title=config.get_localized_string(60652), action="acciones_trakt", url="users/me/watchlist/shows%s" % page, extra="show", order="added", how="desc")) - itemlist.append(item.clone(title=config.get_localized_string(70056), action="", text_color=color2)) + itemlist.append(item.clone(title=config.get_localized_string(70056), action="", )) itemlist.append( item.clone(title=config.get_localized_string(60651), action="acciones_trakt", url="users/me/watched/movies%s" % page, order="added", how="desc")) @@ -310,7 +310,7 @@ def trakt(item): item.clone(title=config.get_localized_string(60652), action="acciones_trakt", url="users/me/watched/shows%s" % page, extra="show", order="added", how="desc")) - itemlist.append(item.clone(title=config.get_localized_string(70068), action="", text_color=color2)) + itemlist.append(item.clone(title=config.get_localized_string(70068), action="", )) itemlist.append( item.clone(title=config.get_localized_string(60651), action="acciones_trakt", url="users/me/collection/movies%s" % page, order="added", how="desc")) @@ -319,14 +319,13 @@ def trakt(item): extra="show", order="added", how="desc")) itemlist.append( - item.clone(title=config.get_localized_string(70057), action="acciones_trakt", url="users/me/lists", text_color=color2)) + item.clone(title=config.get_localized_string(70057), action="acciones_trakt", url="users/me/lists", )) return itemlist def mal(item): itemlist = [] - item.text_color = color1 login, message, user = login_mal() if login: item.login = True @@ -350,9 +349,9 @@ def mal(item): if config.get_platform() != "plex": itemlist.append(item.clone(title=config.get_localized_string(70064), url="https://myanimelist.net/anime.php?q=", action="search_")) - itemlist.append(item.clone(title=config.get_localized_string(70038), action="filtro_mal", text_color=color4)) + itemlist.append(item.clone(title=typo(config.get_localized_string(70038), 'bold submenu'), action="filtro_mal")) - itemlist.append(item.clone(title=config.get_localized_string(70057), action="cuenta_mal", text_color=color3)) + itemlist.append(item.clone(title=typo(config.get_localized_string(70057), 'bold submenu'), action="cuenta_mal")) return itemlist @@ -361,7 +360,6 @@ def mal(item): def listado_tmdb(item): # Listados principales de la categoría Tmdb (Más populares, más vistas, etc...) itemlist = [] - item.text_color = color1 item.fanart = default_fan if not item.pagina: item.pagina = 1 @@ -398,12 +396,9 @@ def listado_tmdb(item): new_item.fanart = new_item.infoLabels['fanart'] if new_item.infoLabels['year']: - new_item.title = "%s (%s) [COLOR %s]%s[/COLOR]" \ - % (new_item.contentTitle, new_item.infoLabels['year'], color6, - str(new_item.infoLabels['rating']).replace("0.0", "")) + new_item.title = typo(new_item.contentTitle, 'bold') + ' (%s)' % new_item.infoLabels['year'] + typo(str(new_item.infoLabels['rating']).replace("0.0", ""), '_ color kod') else: - new_item.title = "%s [COLOR %s]%s[/COLOR]" \ - % (new_item.contentTitle, color6, new_item.infoLabels['rating'].replace("0.0", "")) + new_item.title = typo(new_item.contentTitle, 'bold') + ' (%s)' % new_item.infoLabels['year'] + typo(str(new_item.infoLabels['rating']).replace("0.0", ""), '_ color kod') itemlist.append(new_item) except: pass @@ -465,9 +460,8 @@ def listado_tmdb(item): if known_for: from random import randint random = randint(0, len(known_for) - 1) - new_item.title = "%s [COLOR %s](%s)[/COLOR] (%s)" \ - % (new_item.contentTitle, color6, - known_for[random].get("title", known_for[random].get("name")), type) + new_item.title = typo(new_item.contentTitle, 'bold') + typo(known_for[random].get("title", known_for[random].get("name")), '_ () color kod') + if known_for[random]["backdrop_path"]: new_item.fanart = 'http://image.tmdb.org/t/p/original' + known_for[random]["backdrop_path"] else: @@ -537,7 +531,7 @@ def detalles(item): item.infoLabels['votes'] = votos if item.infoLabels['tagline']: - itemlist.append(item.clone(title="--- %s ---" % item.infoLabels['tagline'], text_color="0xFFFF8C00", action="")) + itemlist.append(item.clone(title="--- %s ---" % item.infoLabels['tagline'], action="")) title = item.contentType.replace("movie", config.get_localized_string(70283)).replace("tvshow", "serie") # Búsqueda por títulos idioma elegido y/o versión original y español @@ -556,22 +550,22 @@ def detalles(item): # En caso de serie, opción de info por temporadas if item.contentType == "tvshow" and item.infoLabels['tmdb_id']: - itemlist.append(item.clone(action="info_seasons", text_color=color4, + itemlist.append(item.clone(action="info_seasons", title=config.get_localized_string(70067) % item.infoLabels["number_of_seasons"])) # Opción de ver el reparto y navegar por sus películas/series if item.infoLabels['tmdb_id']: - itemlist.append(item.clone(action="reparto", title=config.get_localized_string(70071), text_color=color4, + itemlist.append(item.clone(action="reparto", title=config.get_localized_string(70071), infoLabels={'tmdb_id': item.infoLabels['tmdb_id'], 'mediatype': item.contentType})) if config.is_xbmc(): item.contextual = True itemlist.append(item.clone(channel="trailertools", action="buscartrailer", title=config.get_localized_string(60359), - text_color=color5)) + )) try: images['tmdb'] = ob_tmdb.result["images"] - itemlist.append(item.clone(action="imagenes", title=config.get_localized_string(70316), text_color=color5, images=images, + itemlist.append(item.clone(action="imagenes", title=config.get_localized_string(70316), images=images, extra="menu")) except: pass @@ -597,7 +591,7 @@ def detalles(item): url_album = "https://nl.hideproxy.me" + url_album itemlist.append( item.clone(action="musica_movie", title=config.get_localized_string(70317), url=url_album, - text_color=color5)) + )) except: pass @@ -618,7 +612,7 @@ def detalles(item): new_item.fanart = 'http://image.tmdb.org/t/p/original' + saga["backdrop_path"] new_item.search = {'url': 'collection/%s' % saga['id'], 'language': langt} itemlist.append(new_item.clone(title=config.get_localized_string(70327) % saga["name"], action="listado_tmdb", - text_color=color5)) + )) except: pass @@ -629,11 +623,11 @@ def detalles(item): itemlist.append(item.clone(title=config.get_localized_string(70328) % title, action="listado_tmdb", search={'url': '%s/%s/similar' % (item.extra, item.infoLabels['tmdb_id']), 'language': langt, 'page': 1}, infoLabels={'mediatype': item.contentType}, - text_color=color2)) + )) itemlist.append( item.clone(title=config.get_localized_string(70315), action="listado_tmdb", infoLabels={'mediatype': item.contentType}, search={'url': '%s/%s/recommendations' % (item.extra, item.infoLabels['tmdb_id']), - 'language': langt, 'page': 1}, text_color=color2)) + 'language': langt, 'page': 1}, )) return itemlist @@ -641,7 +635,6 @@ def detalles(item): def reparto(item): # Actores y equipo de rodaje de una película/serie itemlist = [] - item.text_color = color1 item.extra=item.contentType.replace('tvshow','tv') item.search = {'url': '%s/%s/credits' % (item.extra, item.infoLabels['tmdb_id'])} ob_tmdb = Tmdb(discover=item.search, tipo=item.extra, idioma_busqueda=langt) @@ -649,7 +642,7 @@ def reparto(item): try: cast = ob_tmdb.result["cast"] if cast: - itemlist.append(item.clone(title=config.get_localized_string(70314), action="", text_color=color2)) + itemlist.append(item.clone(title=config.get_localized_string(70314), action="", )) for actor in cast: new_item = item.clone(action="listado_tmdb", fanart=default_fan) new_item.title = " " + actor["name"] + " as " + actor["character"] @@ -668,7 +661,7 @@ def reparto(item): try: crew = ob_tmdb.result["crew"] if crew: - itemlist.append(item.clone(title=config.get_localized_string(70319), action="", text_color=color2)) + itemlist.append(item.clone(title=config.get_localized_string(70319), action="", )) for c in crew: new_item = item.clone(action="listado_tmdb", fanart=default_fan) new_item.title = " " + c["job"] + ": " + c["name"] @@ -690,7 +683,6 @@ def reparto(item): def info_seasons(item): # Info de temporadas y episodios itemlist = [] - item.text_color = color4 ob_tmdb = Tmdb(id_Tmdb=item.infoLabels["tmdb_id"], tipo="tv", idioma_busqueda=langt) for temp in range(item.infoLabels["number_of_seasons"], 0, -1): @@ -714,7 +706,7 @@ def info_seasons(item): for epi in range(1, len(temporada["episodes"])): episodio = ob_tmdb.get_episodio(temp, epi) if episodio: - new_item = item.clone(action="", text_color=color1, mediatype="episode") + new_item = item.clone(action="", mediatype="episode") new_item.infoLabels['season'] = temp new_item.infoLabels['episode'] = epi new_item.infoLabels['title'] = episodio['episodio_titulo'] @@ -895,7 +887,7 @@ def musica_movie(item): title = "%s (%s) [%s]" % (titulo, artist, duration) url = scrapertools.find_single_match(data, "AudioPlayer.embed\('%s'.*?soundFile: '([^']+)'" % id_p) itemlist.append(Item(channel=item.channel, action="play", server="directo", url=url, title=title, - thumbnail=item.thumbnail, fanart=item.fanart, text_color=color5)) + thumbnail=item.thumbnail, fanart=item.fanart, )) return itemlist @@ -903,7 +895,6 @@ def musica_movie(item): def listado_imdb(item): # Método principal para secciones de imdb itemlist = [] - item.text_color = color1 headers = [['Accept-Language', langi]] if "www.imdb.com" in item.url: @@ -987,7 +978,7 @@ def listado_imdb(item): except: rating = None if rating: - new_item.title += " [COLOR %s]%s[/COLOR]" % (color6, str(rating)) + new_item.title += typo(str(rating), '_ color kod') new_item.infoLabels['rating'] = float(rating) new_item.infoLabels['imdb_id'] = imdb_id itemlist.append(new_item) @@ -998,7 +989,7 @@ def listado_imdb(item): next_page = 'http://www.imdb.com' + next_page else: next_page = 'http://www.imdb.com/search/title' + next_page - itemlist.append(item.clone(title=config.get_localized_string(70065), url=next_page, text_color='')) + itemlist.append(item.clone(title=config.get_localized_string(70065), url=next_page, )) return itemlist @@ -1153,6 +1144,7 @@ def indices_imdb(item): thumbnail = "%s2/%s.jpg" % (images_predef, titulo) itemlist.append(item.clone(title=title, action='listado_imdb', thumbnail=thumbnail, url='http://www.imdb.com/search/title?genres=%s%s' % (valor, item.url))) + itemlist = thumb(itemlist) itemlist.sort(key=lambda item: item.title) else: year = datetime.now().year + 3 @@ -1167,7 +1159,6 @@ def indices_imdb(item): def listado_fa(item): # Método para listados principales de filmaffinity itemlist = [] - item.text_color = color1 # Listados con paginación por post if item.extra == "top": @@ -1197,7 +1188,7 @@ def listado_fa(item): '