mirror of
https://github.com/morpheus65535/bazarr.git
synced 2025-02-21 21:34:48 +08:00
core: update to subliminal_patch:head; subscene: explicitly set account filters for languages
This commit is contained in:
parent
702038c191
commit
3d8e8ee59b
1 changed files with 17 additions and 7 deletions
|
@ -125,7 +125,7 @@ class SubsceneProvider(Provider, ProviderSubtitleArchiveMixin):
|
||||||
username = None
|
username = None
|
||||||
password = None
|
password = None
|
||||||
|
|
||||||
search_throttle = 5 # seconds
|
search_throttle = 8 # seconds
|
||||||
|
|
||||||
def __init__(self, only_foreign=False, username=None, password=None):
|
def __init__(self, only_foreign=False, username=None, password=None):
|
||||||
if not all((username, password)):
|
if not all((username, password)):
|
||||||
|
@ -202,12 +202,20 @@ class SubsceneProvider(Provider, ProviderSubtitleArchiveMixin):
|
||||||
|
|
||||||
def _create_filters(self, languages):
|
def _create_filters(self, languages):
|
||||||
self.filters = dict(HearingImpaired="2")
|
self.filters = dict(HearingImpaired="2")
|
||||||
|
acc_filters = self.filters.copy()
|
||||||
if self.only_foreign:
|
if self.only_foreign:
|
||||||
self.filters["ForeignOnly"] = "True"
|
self.filters["ForeignOnly"] = "True"
|
||||||
|
acc_filters["ForeignOnly"] = self.filters["ForeignOnly"].lower()
|
||||||
logger.info("Only searching for foreign/forced subtitles")
|
logger.info("Only searching for foreign/forced subtitles")
|
||||||
|
|
||||||
self.filters["LanguageFilter"] = ",".join((str(language_ids[l.alpha3]) for l in languages
|
acc_filters["SelectedIds"] = [str(language_ids[l.alpha3]) for l in languages if l.alpha3 in language_ids]
|
||||||
if l.alpha3 in language_ids))
|
self.filters["LanguageFilter"] = ",".join(acc_filters["SelectedIds"])
|
||||||
|
|
||||||
|
last_filters = region.get("subscene_filters")
|
||||||
|
if last_filters != acc_filters:
|
||||||
|
region.set("subscene_filters", acc_filters)
|
||||||
|
logger.debug("Setting account filters to %r", acc_filters)
|
||||||
|
self.session.post("https://u.subscene.com/filter", acc_filters, allow_redirects=False)
|
||||||
|
|
||||||
logger.debug("Filter created: '%s'" % self.filters)
|
logger.debug("Filter created: '%s'" % self.filters)
|
||||||
|
|
||||||
|
@ -289,9 +297,10 @@ class SubsceneProvider(Provider, ProviderSubtitleArchiveMixin):
|
||||||
|
|
||||||
# re-search for episodes without explicit release name
|
# re-search for episodes without explicit release name
|
||||||
if isinstance(video, Episode):
|
if isinstance(video, Episode):
|
||||||
|
titles = list(set([video.series] + video.alternative_series))[:2]
|
||||||
# term = u"%s S%02iE%02i" % (video.series, video.season, video.episode)
|
# term = u"%s S%02iE%02i" % (video.series, video.season, video.episode)
|
||||||
more_than_one = len([video.series] + video.alternative_series) > 1
|
more_than_one = len(titles) > 1
|
||||||
for series in set([video.series] + video.alternative_series):
|
for series in titles:
|
||||||
term = u"%s - %s Season" % (series, p.number_to_words("%sth" % video.season).capitalize())
|
term = u"%s - %s Season" % (series, p.number_to_words("%sth" % video.season).capitalize())
|
||||||
logger.debug('Searching for alternative results: %s', term)
|
logger.debug('Searching for alternative results: %s', term)
|
||||||
film = self.do_search(term, session=self.session, release=False, throttle=self.search_throttle)
|
film = self.do_search(term, session=self.session, release=False, throttle=self.search_throttle)
|
||||||
|
@ -317,8 +326,9 @@ class SubsceneProvider(Provider, ProviderSubtitleArchiveMixin):
|
||||||
if more_than_one:
|
if more_than_one:
|
||||||
time.sleep(self.search_throttle)
|
time.sleep(self.search_throttle)
|
||||||
else:
|
else:
|
||||||
more_than_one = len([video.title] + video.alternative_titles) > 1
|
titles = list(set([video.title] + video.alternative_titles))[:2]
|
||||||
for title in set([video.title] + video.alternative_titles):
|
more_than_one = len(titles) > 1
|
||||||
|
for title in titles:
|
||||||
logger.debug('Searching for movie results: %r', title)
|
logger.debug('Searching for movie results: %r', title)
|
||||||
film = self.do_search(title, year=video.year, session=self.session, limit_to=None, release=False,
|
film = self.do_search(title, year=video.year, session=self.session, limit_to=None, release=False,
|
||||||
throttle=self.search_throttle)
|
throttle=self.search_throttle)
|
||||||
|
|
Loading…
Reference in a new issue