diff --git a/plugin.video.alfa/channels/search.py b/plugin.video.alfa/channels/search.py
index c6a2dd20..ff687195 100644
--- a/plugin.video.alfa/channels/search.py
+++ b/plugin.video.alfa/channels/search.py
@@ -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
diff --git a/plugin.video.alfa/channels/searchall.py b/plugin.video.alfa/channels/searchall.py
index 5538a0a9..82d83ff7 100644
--- a/plugin.video.alfa/channels/searchall.py
+++ b/plugin.video.alfa/channels/searchall.py
@@ -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"
diff --git a/plugin.video.alfa/channelselector.py b/plugin.video.alfa/channelselector.py
index 3fabe6d0..e311a994 100644
--- a/plugin.video.alfa/channelselector.py
+++ b/plugin.video.alfa/channelselector.py
@@ -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
diff --git a/plugin.video.alfa/core/tmdb.py b/plugin.video.alfa/core/tmdb.py
index a72bea42..c1513788 100644
--- a/plugin.video.alfa/core/tmdb.py
+++ b/plugin.video.alfa/core/tmdb.py
@@ -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] = {}
diff --git a/plugin.video.alfa/resources/settings.xml b/plugin.video.alfa/resources/settings.xml
index 7873d910..697eb823 100644
--- a/plugin.video.alfa/resources/settings.xml
+++ b/plugin.video.alfa/resources/settings.xml
@@ -5,7 +5,7 @@
-
+