mirror of https://github.com/morpheus65535/bazarr
Language-equals: add compatibility for more providers
Some providers directly uses language codes within their query implementations. This 'translator' method will take care of that.
This commit is contained in:
parent
77531090b2
commit
4725496313
|
@ -155,6 +155,19 @@ class _LanguageEquals(list):
|
||||||
if len(item) != 2 or not any(isinstance(i, Language) for i in item):
|
if len(item) != 2 or not any(isinstance(i, Language) for i in item):
|
||||||
raise ValueError(f"Not a valid equal tuple: {item}")
|
raise ValueError(f"Not a valid equal tuple: {item}")
|
||||||
|
|
||||||
|
def translate(self, items: set):
|
||||||
|
translated = set()
|
||||||
|
|
||||||
|
for equals in self:
|
||||||
|
from_, to_ = equals
|
||||||
|
if to_ in items:
|
||||||
|
logger.debug("Translating %s -> %s", to_, from_)
|
||||||
|
translated.add(from_)
|
||||||
|
else:
|
||||||
|
translated.add(to_)
|
||||||
|
|
||||||
|
return translated or items
|
||||||
|
|
||||||
def check_set(self, items: set):
|
def check_set(self, items: set):
|
||||||
""" Check a set of languages. For example, if the set is {Language('es')} and one of the
|
""" Check a set of languages. For example, if the set is {Language('es')} and one of the
|
||||||
equals of the instance is (Language('es'), Language('es', 'MX')), the set will now have
|
equals of the instance is (Language('es'), Language('es', 'MX')), the set will now have
|
||||||
|
@ -343,7 +356,7 @@ class SZProviderPool(ProviderPool):
|
||||||
logger.info('Listing subtitles with provider %r and languages %r', provider, provider_languages)
|
logger.info('Listing subtitles with provider %r and languages %r', provider, provider_languages)
|
||||||
results = []
|
results = []
|
||||||
try:
|
try:
|
||||||
results = self[provider].list_subtitles(video, provider_languages)
|
results = self[provider].list_subtitles(video, self.lang_equals.translate(provider_languages))
|
||||||
seen = []
|
seen = []
|
||||||
out = []
|
out = []
|
||||||
for s in results:
|
for s in results:
|
||||||
|
|
Loading…
Reference in New Issue