|
|
@ -49,12 +49,12 @@ class TvSubtitles(ServiceBase): |
|
|
|
'cn': Language('chi'), 'br': Language('pob')} |
|
|
|
videos = [Episode] |
|
|
|
require_video = False |
|
|
|
required_features = ['permissive'] |
|
|
|
required_features = ['lxml'] # ['permissive'] |
|
|
|
|
|
|
|
@cachedmethod |
|
|
|
def get_likely_series_id(self, name): |
|
|
|
r = self.session.post('%s/search.php' % self.server_url, data={'q': name}) |
|
|
|
soup = BeautifulSoup(r.content, self.required_features) |
|
|
|
soup = BeautifulSoup(r.content, self.required_features[0]) |
|
|
|
maindiv = soup.find('div', 'left') |
|
|
|
results = [] |
|
|
|
for elem in maindiv.find_all('li'): |
|
|
@ -74,7 +74,7 @@ class TvSubtitles(ServiceBase): |
|
|
|
# download the page of the season, contains ids for all episodes |
|
|
|
episode_id = None |
|
|
|
r = self.session.get('%s/tvshow-%d-%d.html' % (self.server_url, series_id, season)) |
|
|
|
soup = BeautifulSoup(r.content, self.required_features) |
|
|
|
soup = BeautifulSoup(r.content, self.required_features[0]) |
|
|
|
table = soup.find('table', id='table5') |
|
|
|
for row in table.find_all('tr'): |
|
|
|
cells = row.find_all('td') |
|
|
@ -97,7 +97,7 @@ class TvSubtitles(ServiceBase): |
|
|
|
def get_sub_ids(self, episode_id): |
|
|
|
subids = [] |
|
|
|
r = self.session.get('%s/episode-%d.html' % (self.server_url, episode_id)) |
|
|
|
epsoup = BeautifulSoup(r.content, self.required_features) |
|
|
|
epsoup = BeautifulSoup(r.content, self.required_features[0]) |
|
|
|
for subdiv in epsoup.find_all('a'): |
|
|
|
if 'href' not in subdiv.attrs or not subdiv['href'].startswith('/subtitle'): |
|
|
|
continue |
|
|
@ -121,7 +121,7 @@ class TvSubtitles(ServiceBase): |
|
|
|
sid = self.get_likely_series_id(series.lower()) |
|
|
|
try: |
|
|
|
ep_id = self.get_episode_id(sid, season, episode) |
|
|
|
except KeyError: |
|
|
|
except (KeyError, TypeError): |
|
|
|
logger.debug(u'Could not find episode id for %s season %d episode %d' % (series, season, episode)) |
|
|
|
return [] |
|
|
|
subids = self.get_sub_ids(ep_id) |
|
|
@ -142,4 +142,4 @@ class TvSubtitles(ServiceBase): |
|
|
|
return subtitle |
|
|
|
|
|
|
|
|
|
|
|
Service = TvSubtitles |
|
|
|
Service = TvSubtitles |
|
|
|