mirror of https://github.com/morpheus65535/bazarr
Fix for #1271
This commit is contained in:
parent
c94bd262c6
commit
4888a2361c
|
@ -21,7 +21,7 @@ from subliminal.utils import sanitize, sanitize_release_group
|
||||||
from subliminal.video import Episode, Movie
|
from subliminal.video import Episode, Movie
|
||||||
from zipfile import ZipFile
|
from zipfile import ZipFile
|
||||||
from rarfile import RarFile, is_rarfile
|
from rarfile import RarFile, is_rarfile
|
||||||
from subliminal_patch.utils import sanitize
|
from subliminal_patch.utils import sanitize, fix_inconsistent_naming
|
||||||
from guessit import guessit
|
from guessit import guessit
|
||||||
|
|
||||||
|
|
||||||
|
@ -30,6 +30,29 @@ logger = logging.getLogger(__name__)
|
||||||
language_converters.register('supersubtitles = subliminal_patch.converters.supersubtitles:SuperSubtitlesConverter')
|
language_converters.register('supersubtitles = subliminal_patch.converters.supersubtitles:SuperSubtitlesConverter')
|
||||||
|
|
||||||
|
|
||||||
|
def fix_tv_naming(title):
|
||||||
|
"""Fix TV show titles with inconsistent naming using dictionary, but do not sanitize them.
|
||||||
|
|
||||||
|
:param str title: original title.
|
||||||
|
:return: new title.
|
||||||
|
:rtype: str
|
||||||
|
|
||||||
|
"""
|
||||||
|
return fix_inconsistent_naming(title, {"Marvel's WandaVision": "WandaVision",
|
||||||
|
"Marvel's Daredevil": "Daredevil",
|
||||||
|
"Marvel's Luke Cage": "Luke Cage",
|
||||||
|
"Marvel's Iron Fist": "Iron Fist",
|
||||||
|
"Marvel's Jessica Jones": "Jessica Jones",
|
||||||
|
"DC's Legends of Tomorrow": "Legends of Tomorrow",
|
||||||
|
"Star Trek: The Next Generation": "Star Trek TNG",
|
||||||
|
}, True)
|
||||||
|
|
||||||
|
|
||||||
|
def fix_movie_naming(title):
|
||||||
|
return fix_inconsistent_naming(title, {
|
||||||
|
}, True)
|
||||||
|
|
||||||
|
|
||||||
class SuperSubtitlesSubtitle(Subtitle):
|
class SuperSubtitlesSubtitle(Subtitle):
|
||||||
"""SuperSubtitles Subtitle."""
|
"""SuperSubtitles Subtitle."""
|
||||||
provider_name = 'supersubtitles'
|
provider_name = 'supersubtitles'
|
||||||
|
@ -228,7 +251,7 @@ class SuperSubtitlesProvider(Provider, ProviderSubtitleArchiveMixin):
|
||||||
except IndexError:
|
except IndexError:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
result_title = result_title.strip().replace("<EFBFBD>", "").replace(" ", ".")
|
result_title = fix_tv_naming(result_title).strip().replace("<EFBFBD>", "").replace(" ", ".")
|
||||||
if not result_title:
|
if not result_title:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
@ -398,7 +421,11 @@ class SuperSubtitlesProvider(Provider, ProviderSubtitleArchiveMixin):
|
||||||
subs = self.query(title, languages, video=video)
|
subs = self.query(title, languages, video=video)
|
||||||
if subs:
|
if subs:
|
||||||
for item in subs:
|
for item in subs:
|
||||||
if item.series in titles:
|
if isinstance(video, Episode):
|
||||||
|
fixed_title = fix_tv_naming(item.series)
|
||||||
|
else:
|
||||||
|
fixed_title = fix_movie_naming(item.series)
|
||||||
|
if fixed_title in titles:
|
||||||
subtitles.append(item)
|
subtitles.append(item)
|
||||||
|
|
||||||
time.sleep(self.multi_result_throttle)
|
time.sleep(self.multi_result_throttle)
|
||||||
|
|
Loading…
Reference in New Issue