Autoselect filter channels by tmdb lang
This commit is contained in:
@@ -6,7 +6,7 @@ import re
|
||||
import time
|
||||
from threading import Thread
|
||||
|
||||
from channelselector import get_thumb
|
||||
from channelselector import get_thumb, auto_filter
|
||||
from core import channeltools
|
||||
from core import scrapertools
|
||||
from core.item import Item
|
||||
@@ -239,7 +239,8 @@ def setting_channel_new(item):
|
||||
|
||||
def setting_channel_old(item):
|
||||
channels_path = os.path.join(config.get_runtime_path(), "channels", '*.json')
|
||||
channel_language = config.get_setting("channel_language", default="all")
|
||||
# channel_language = config.get_setting("channel_language", default="all")
|
||||
channel_language = auto_filter()
|
||||
|
||||
list_controls = []
|
||||
for infile in sorted(glob.glob(channels_path)):
|
||||
@@ -473,7 +474,8 @@ def do_search(item, categories=None):
|
||||
channels_path = os.path.join(config.get_runtime_path(), "channels", '*.json')
|
||||
logger.info("channels_path=%s" % channels_path)
|
||||
|
||||
channel_language = config.get_setting("channel_language", default="all")
|
||||
# channel_language = config.get_setting("channel_language", default="all")
|
||||
channel_language = auto_filter()
|
||||
logger.info("channel_language=%s" % channel_language)
|
||||
|
||||
# Para Kodi es necesario esperar antes de cargar el progreso, de lo contrario
|
||||
|
||||
@@ -673,7 +673,8 @@ def do_channels_search(item):
|
||||
channels_path = os.path.join(config.get_runtime_path(), "channels", '*.json')
|
||||
logger.info(" channels_path=" + channels_path)
|
||||
|
||||
channel_language = config.get_setting("channel_language")
|
||||
# channel_language = config.get_setting("channel_language")
|
||||
channel_language = auto_filter()
|
||||
logger.info(" channel_language=" + channel_language)
|
||||
if channel_language == "":
|
||||
channel_language = "all"
|
||||
|
||||
@@ -71,7 +71,8 @@ def getchanneltypes(view="thumb_"):
|
||||
if config.get_setting("adult_mode") != 0:
|
||||
channel_types.append("adult")
|
||||
|
||||
channel_language = config.get_setting("channel_language", default="all")
|
||||
# channel_language = config.get_setting("channel_language", default="all")
|
||||
channel_language = auto_filter()
|
||||
logger.info("channel_language=%s" % channel_language)
|
||||
|
||||
# Ahora construye el itemlist ordenadamente
|
||||
@@ -111,7 +112,8 @@ def filterchannels(category, view="thumb_"):
|
||||
channel_files = glob.glob(channel_path)
|
||||
logger.info("channel_files encontrados %s" % (len(channel_files)))
|
||||
|
||||
channel_language = config.get_setting("channel_language", default="all")
|
||||
# channel_language = config.get_setting("channel_language", default="all")
|
||||
channel_language = auto_filter()
|
||||
logger.info("channel_language=%s" % channel_language)
|
||||
|
||||
for channel_path in channel_files:
|
||||
@@ -274,3 +276,26 @@ def set_channel_info(parameters):
|
||||
|
||||
info = '[COLOR yellow]Tipo de contenido:[/COLOR] %s\n\n[COLOR yellow]Idiomas:[/COLOR] %s' % (content, language)
|
||||
return info
|
||||
|
||||
|
||||
def auto_filter():
|
||||
import xbmc, xbmcaddon
|
||||
|
||||
addon = xbmcaddon.Addon('metadata.themoviedb.org')
|
||||
def_lang = addon.getSetting('language')
|
||||
|
||||
if config.get_setting("channel_language") == 'auto':
|
||||
if def_lang == 'it':
|
||||
lang = 'ita'
|
||||
elif def_lang == 'eu-ES' :
|
||||
lang = 'cast'
|
||||
elif def_lang == 'es' :
|
||||
lang = 'esp'
|
||||
elif def_lang == 'es-MX':
|
||||
lang = 'lat'
|
||||
else:
|
||||
lang = 'all'
|
||||
else:
|
||||
lang = config.get_setting("channel_language", default="all")
|
||||
|
||||
return lang
|
||||
|
||||
@@ -13,6 +13,10 @@ from core.item import InfoLabels
|
||||
from platformcode import config
|
||||
from platformcode import logger
|
||||
|
||||
import xbmc, xbmcaddon
|
||||
addon = xbmcaddon.Addon('metadata.themoviedb.org')
|
||||
def_lang = addon.getSetting('language')
|
||||
|
||||
# -----------------------------------------------------------------------------------------------------------
|
||||
# Conjunto de funciones relacionadas con las infoLabels.
|
||||
# version 1.0:
|
||||
@@ -184,7 +188,7 @@ def cache_response(fn):
|
||||
return wrapper
|
||||
|
||||
|
||||
def set_infoLabels(source, seekTmdb=True, idioma_busqueda='es'):
|
||||
def set_infoLabels(source, seekTmdb=True, idioma_busqueda=def_lang):
|
||||
"""
|
||||
Dependiendo del tipo de dato de source obtiene y fija (item.infoLabels) los datos extras de una o varias series,
|
||||
capitulos o peliculas.
|
||||
@@ -210,7 +214,7 @@ def set_infoLabels(source, seekTmdb=True, idioma_busqueda='es'):
|
||||
return ret
|
||||
|
||||
|
||||
def set_infoLabels_itemlist(item_list, seekTmdb=False, idioma_busqueda='es'):
|
||||
def set_infoLabels_itemlist(item_list, seekTmdb=False, idioma_busqueda=def_lang):
|
||||
"""
|
||||
De manera concurrente, obtiene los datos de los items incluidos en la lista item_list.
|
||||
|
||||
@@ -264,7 +268,7 @@ def set_infoLabels_itemlist(item_list, seekTmdb=False, idioma_busqueda='es'):
|
||||
return [ii[2] for ii in r_list]
|
||||
|
||||
|
||||
def set_infoLabels_item(item, seekTmdb=True, idioma_busqueda='es', lock=None):
|
||||
def set_infoLabels_item(item, seekTmdb=True, idioma_busqueda=def_lang, lock=None):
|
||||
"""
|
||||
Obtiene y fija (item.infoLabels) los datos extras de una serie, capitulo o pelicula.
|
||||
|
||||
@@ -541,13 +545,13 @@ def discovery(item):
|
||||
from platformcode import unify
|
||||
|
||||
if item.search_type == 'discover':
|
||||
listado = Tmdb(discover={'url':'discover/%s' % item.type, 'with_genres':item.list_type, 'language':'es',
|
||||
listado = Tmdb(discover={'url':'discover/%s' % item.type, 'with_genres':item.list_type, 'language':def_lang,
|
||||
'page':item.page})
|
||||
|
||||
elif item.search_type == 'list':
|
||||
if item.page == '':
|
||||
item.page = '1'
|
||||
listado = Tmdb(list={'url': item.list_type, 'language':'es', 'page':item.page})
|
||||
listado = Tmdb(list={'url': item.list_type, 'language':def_lang, 'page':item.page})
|
||||
|
||||
logger.debug(listado.get_list_resultados())
|
||||
result = listado.get_list_resultados()
|
||||
@@ -555,7 +559,7 @@ def discovery(item):
|
||||
return result
|
||||
|
||||
def get_genres(type):
|
||||
lang = 'es'
|
||||
lang = def_lang
|
||||
genres = Tmdb(tipo=type)
|
||||
|
||||
return genres.dic_generos[lang]
|
||||
@@ -783,7 +787,7 @@ class Tmdb(object):
|
||||
self.busqueda_id = kwargs.get('id_Tmdb', '')
|
||||
self.busqueda_texto = re.sub('\[\\\?(B|I|COLOR)\s?[^\]]*\]', '', self.texto_buscado).strip()
|
||||
self.busqueda_tipo = kwargs.get('tipo', '')
|
||||
self.busqueda_idioma = kwargs.get('idioma_busqueda', 'es')
|
||||
self.busqueda_idioma = kwargs.get('idioma_busqueda', def_lang)
|
||||
self.busqueda_include_adult = kwargs.get('include_adult', False)
|
||||
self.busqueda_year = kwargs.get('year', '')
|
||||
self.busqueda_filtro = kwargs.get('filtro', {})
|
||||
@@ -863,7 +867,7 @@ class Tmdb(object):
|
||||
return dict_data
|
||||
|
||||
@classmethod
|
||||
def rellenar_dic_generos(cls, tipo='movie', idioma='es'):
|
||||
def rellenar_dic_generos(cls, tipo='movie', idioma=def_lang):
|
||||
# Rellenar diccionario de generos del tipo e idioma pasados como parametros
|
||||
if idioma not in cls.dic_generos:
|
||||
cls.dic_generos[idioma] = {}
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<setting id="default_action" type="enum" lvalues="30006|30007|30008" label="30005" default="0"/>
|
||||
<setting id="autoplay" type="bool" label="70562" default="false" visible="true"/>
|
||||
<setting id="thumbnail_type" type="enum" lvalues="30011|30012|30200" label="30010" default="2"/>
|
||||
<setting id="channel_language" type="labelenum" values="all|cast|lat|ita" label="30019" default="all"/>
|
||||
<setting id="channel_language" type="labelenum" values="auto|all|cast|lat|ita" label="30019" default="auto"/>
|
||||
<setting id="trakt_sync" type="bool" label="70109" default="false"/>
|
||||
<setting id="forceview" type="bool" label="30043" default="false"/>
|
||||
<setting id="faster_item_serialization" type="bool" label="30300" default="false"/>
|
||||
|
||||
Reference in New Issue
Block a user