mirror of
https://github.com/morpheus65535/bazarr
synced 2025-02-05 05:53:10 +00:00
Added check to opensubtitles.com for SDH subtitles being classified as forced
This commit is contained in:
parent
b71daad7fb
commit
4809b403ca
1 changed files with 7 additions and 3 deletions
|
@ -290,6 +290,10 @@ class OpenSubtitlesComProvider(ProviderRetryMixin, Provider):
|
||||||
if not title_id:
|
if not title_id:
|
||||||
logger.debug(f'No match found for {title}')
|
logger.debug(f'No match found for {title}')
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def is_real_forced(attributes):
|
||||||
|
return attributes['foreign_parts_only'] and not attributes['hearing_impaired']
|
||||||
|
|
||||||
def query(self, languages, video):
|
def query(self, languages, video):
|
||||||
self.video = video
|
self.video = video
|
||||||
if self.use_hash:
|
if self.use_hash:
|
||||||
|
@ -363,11 +367,11 @@ class OpenSubtitlesComProvider(ProviderRetryMixin, Provider):
|
||||||
|
|
||||||
# filter out forced subtitles or not depending on the required languages
|
# filter out forced subtitles or not depending on the required languages
|
||||||
if all([lang.forced for lang in languages]): # only forced
|
if all([lang.forced for lang in languages]): # only forced
|
||||||
result['data'] = [x for x in result['data'] if x['attributes']['foreign_parts_only']]
|
result['data'] = [x for x in result['data'] if self.is_real_forced(x['attributes'])]
|
||||||
elif any([lang.forced for lang in languages]): # also forced
|
elif any([lang.forced for lang in languages]): # also forced
|
||||||
pass
|
pass
|
||||||
else: # not forced
|
else: # not forced
|
||||||
result['data'] = [x for x in result['data'] if not x['attributes']['foreign_parts_only']]
|
result['data'] = [x for x in result['data'] if not self.is_real_forced(x['attributes'])]
|
||||||
|
|
||||||
logger.debug(f"Query returned {len(result['data'])} subtitles")
|
logger.debug(f"Query returned {len(result['data'])} subtitles")
|
||||||
|
|
||||||
|
@ -407,7 +411,7 @@ class OpenSubtitlesComProvider(ProviderRetryMixin, Provider):
|
||||||
if len(item['attributes']['files']):
|
if len(item['attributes']['files']):
|
||||||
subtitle = OpenSubtitlesComSubtitle(
|
subtitle = OpenSubtitlesComSubtitle(
|
||||||
language=Language.fromietf(from_opensubtitlescom(item['attributes']['language'])),
|
language=Language.fromietf(from_opensubtitlescom(item['attributes']['language'])),
|
||||||
forced=item['attributes']['foreign_parts_only'],
|
forced=self.is_real_forced(item['attributes']),
|
||||||
hearing_impaired=item['attributes']['hearing_impaired'],
|
hearing_impaired=item['attributes']['hearing_impaired'],
|
||||||
page_link=item['attributes']['url'],
|
page_link=item['attributes']['url'],
|
||||||
file_id=item['attributes']['files'][0]['file_id'],
|
file_id=item['attributes']['files'][0]['file_id'],
|
||||||
|
|
Loading…
Reference in a new issue