|
|
|
# coding=utf-8
|
|
|
|
|
|
|
|
from __future__ import absolute_import
|
|
|
|
|
|
|
|
from guessit import guessit
|
|
|
|
from subliminal.video import Episode, Movie
|
|
|
|
from subliminal.providers.subscenter import SubsCenterProvider as _SubsCenterProvider, \
|
|
|
|
SubsCenterSubtitle as _SubsCenterSubtitle
|
|
|
|
from subzero.language import Language
|
|
|
|
from subliminal_patch.subtitle import guess_matches
|
|
|
|
|
|
|
|
|
|
|
|
class SubsCenterSubtitle(_SubsCenterSubtitle):
|
|
|
|
hearing_impaired_verifiable = True
|
|
|
|
|
|
|
|
def __init__(self, language, hearing_impaired, page_link, series, season, episode, title, subtitle_id, subtitle_key,
|
|
|
|
subtitle_version, downloaded, releases):
|
|
|
|
super(SubsCenterSubtitle, self).__init__(language, hearing_impaired, page_link, series, season, episode, title,
|
|
|
|
subtitle_id, subtitle_key,
|
|
|
|
subtitle_version, downloaded, releases)
|
|
|
|
self.release_info = u", ".join(releases)
|
|
|
|
self.page_link = page_link
|
|
|
|
|
|
|
|
def get_matches(self, video):
|
|
|
|
matches = super().get_matches(video)
|
|
|
|
type_ = "episode" if isinstance(video, Episode) else "movie"
|
|
|
|
|
|
|
|
for release in self.releases:
|
|
|
|
matches |= guess_matches(video, guessit(release, {'type': type_}))
|
|
|
|
|
|
|
|
return matches
|
|
|
|
|
|
|
|
def __repr__(self):
|
|
|
|
return '<%s %r %s [%s]>' % (
|
|
|
|
self.__class__.__name__, self.page_link, self.id, self.language)
|
|
|
|
|
|
|
|
|
|
|
|
class SubsCenterProvider(_SubsCenterProvider):
|
|
|
|
languages = {Language.fromalpha2(l) for l in ['he']}
|
|
|
|
video_types = (Episode, Movie)
|
|
|
|
subtitle_class = SubsCenterSubtitle
|
|
|
|
hearing_impaired_verifiable = True
|
|
|
|
server_url = 'http://www.subscenter.info/he/'
|