From 8dc2e0a16002d7024d546370f93ed2ea23a571c4 Mon Sep 17 00:00:00 2001 From: Alhaziel Date: Wed, 4 Sep 2019 18:33:04 +0200 Subject: [PATCH] Migliorie a default_settings --- core/channeltools.py | 48 ++++++++++++++++++++++++++------------------ core/support.py | 21 ++++++++----------- 2 files changed, 37 insertions(+), 32 deletions(-) diff --git a/core/channeltools.py b/core/channeltools.py index 99fa333f..13544356 100644 --- a/core/channeltools.py +++ b/core/channeltools.py @@ -79,7 +79,7 @@ def get_channel_parameters(channel_name): # break # if found: # break - channel_parameters['settings'] = get_default_settings(channel_name) + channel_parameters['settings'] = get_default_settings(channel_name) for s in channel_parameters['settings']: if 'id' in s: if s['id'] == "include_in_global_search": @@ -178,28 +178,38 @@ def get_default_settings(channel_name): return get_channel_json(channel_name).get('settings', list()) list_language = [config.get_localized_string(70522)] - sub = False - langs = [] - language = get_channel_json(channel_name).get('language', list()) - for lang in language: - if 'vos' not in lang: - langs.append(lang.upper()) + if hasattr(channel, 'list_language'): + for language in channel.list_language: + list_language.append(language) + logger.info(list_language) + else: + sub = False + langs = [] + language = get_channel_json(channel_name).get('language', list()) + for lang in language: + if 'vos' not in lang: + langs.append(lang.upper()) + else: + sub = True + if sub == True: + for lang in langs: + list_language.append(lang) + list_language.append('Sub-' + lang) else: - sub = True - if sub == True: - for lang in langs: - list_language.append(lang) - list_language.append('Sub-' + lang) - + for lang in langs: + list_language.append(lang) + + # Check if the automatic renumbering function exists - renumber = False + renumber = False if 'episodios' in dir(channel): from core import scrapertoolsV2 if scrapertoolsV2.find_single_match(inspect.getsource(channel), r'(anime\s*=\s*True)') \ or scrapertoolsV2.find_single_match(inspect.getsource(channel), r'(autorenumber\()'): renumber = True - + # Collects configurations + channel_language = categories = get_channel_json(channel_name).get('language', list()) channel_controls = get_channel_json(channel_name).get('settings', list()) default_path = filetools.join(config.get_runtime_path(), 'default_channel_settings' + '.json') default_controls = jsontools.load(filetools.read(default_path)).get('settings', list()) @@ -224,16 +234,16 @@ def get_default_settings(channel_name): else: pass elif label == 'anime': if 'anime' in categories: - control['label'] = config.get_localized_string(70727) + ' - ' + config.get_localized_string(30124) - channel_controls.append(control) + control['label'] = config.get_localized_string(70727) + ' - ' + config.get_localized_string(30124) + channel_controls.append(control) else: pass - + else: control['label'] = config.get_localized_string(70727) + ' - ' + label.capitalize() channel_controls.append(control) elif control['id'] == 'filter_languages': - if len(list_language) > 1: + if len(channel_language) > 1: control['lvalues'] = list_language channel_controls.append(control) else: pass diff --git a/core/support.py b/core/support.py index 02994a6c..a8997848 100644 --- a/core/support.py +++ b/core/support.py @@ -402,19 +402,7 @@ def scrape(func): if 'fullItemlistHook' in args: itemlist = args['fullItemlistHook'](itemlist) - filterLang = False - for item in itemlist: - if item.contentLanguage: - filterLang = True - break - if item.channel: - import channeltools - list_language = channeltools.get_channel_json(item.channel).get('language', list()) - log('Lista Lingue = ', list_language) - if len(list_language) > 1 and filterLang: - log('Lista Lingue = ', list_language) - from specials import filtertools - itemlist = filtertools.get_links(itemlist, item, list_language) + itemlist = filterLang(item, itemlist) return itemlist @@ -920,8 +908,15 @@ def controls(itemlist, item, AutoPlay=True, CheckLinks=True): if item.contentChannel != 'videolibrary': videolibrary(itemlist, item, function_level=3) if get_setting('downloadenabled'): download(itemlist, item, function_level=3) + filterLang(item, itemlist) return itemlist +def filterLang(item, itemlist): + import channeltools + list_language = channeltools.get_channel_json(item.channel).get('language', list()) + from specials import filtertools + itemlist = filtertools.get_links(itemlist, item, list_language) + return itemlist def aplay(item, itemlist, list_servers='', list_quality=''): if inspect.stack()[1][3] == 'mainlist':