opensub languages

This commit is contained in:
Julien Veyssier 2013-02-25 20:53:47 +01:00
commit 8e0a245370
2 changed files with 20 additions and 5 deletions

View file

@ -20,7 +20,7 @@
from weboob.capabilities.subtitle import ICapSubtitle from weboob.capabilities.subtitle import ICapSubtitle
from weboob.tools.backend import BaseBackend from weboob.tools.backend import BaseBackend
from .browser import OpensubtitlesBrowser from .browser import OpensubtitlesBrowser,LANGUAGE_CONV
from urllib import quote_plus from urllib import quote_plus
@ -34,7 +34,6 @@ class OpensubtitlesBackend(BaseBackend, ICapSubtitle):
VERSION = '0.f' VERSION = '0.f'
DESCRIPTION = 'Opensubtitles subtitle website' DESCRIPTION = 'Opensubtitles subtitle website'
LICENSE = 'AGPLv3+' LICENSE = 'AGPLv3+'
LANGUAGE_CONV = {'fr':'fre','en':'eng'}
BROWSER = OpensubtitlesBrowser BROWSER = OpensubtitlesBrowser
def create_default_browser(self): def create_default_browser(self):
@ -51,6 +50,6 @@ class OpensubtitlesBackend(BaseBackend, ICapSubtitle):
return self.browser.openurl(subtitle.url.encode('utf-8')).read() return self.browser.openurl(subtitle.url.encode('utf-8')).read()
def iter_subtitles(self, language, pattern): def iter_subtitles(self, language, pattern):
if language not in self.LANGUAGE_CONV.keys(): if language not in LANGUAGE_CONV.keys():
return [] return []
return self.browser.iter_subtitles(language,quote_plus(pattern.encode('utf-8'))) return self.browser.iter_subtitles(language,quote_plus(pattern.encode('utf-8')))

View file

@ -25,6 +25,23 @@ from .pages import SubtitlesPage, SearchPage, SubtitlePage
__all__ = ['OpensubtitlesBrowser'] __all__ = ['OpensubtitlesBrowser']
LANGUAGE_CONV = {
'ar':'ara', 'eo':'epo', 'ga':'', 'ru':'rus',
'af':'' , 'et':'est', 'it':'ita', 'sr':'scc',
'sq':'alb', 'tl':'' , 'ja':'jpn', 'sk':'slo',
'hy':'arm', 'fi':'fin', 'kn':'', 'sl':'slv',
'az':'' , 'fr':'fre', 'ko':'kor', 'es':'spa',
'eu':'baq', 'gl':'glg', 'la':'', 'sw':'swa',
'be':'' , 'ka':'geo', 'lv':'lav', 'sv':'swe',
'bn':'ben', 'de':'ger', 'lt':'lit', 'ta':'',
'bg':'bul', 'gr':'ell', 'mk':'mac', 'te':'tel',
'ca':'cat', 'gu':'' , 'ms':'may', 'th':'tha',
'zh':'chi', 'ht':'' , 'mt':'', 'tr':'tur',
'hr':'hrv', 'iw':'heb', 'no':'nor', 'uk':'ukr',
'cz':'cze', 'hi':'hin', 'fa':'per', 'ur':'urd',
'da':'dan', 'hu':'hun', 'pl':'pol', 'vi':'vie',
'nl':'dut', 'is':'ice', 'pt':'por', 'cy':'',
'en':'eng', 'id':'ind', 'ro':'rum', 'yi':''}
class OpensubtitlesBrowser(BaseBrowser): class OpensubtitlesBrowser(BaseBrowser):
DOMAIN = 'www.opensubtitles.org' DOMAIN = 'www.opensubtitles.org'
@ -37,10 +54,9 @@ class OpensubtitlesBrowser(BaseBrowser):
'http://www.opensubtitles.org.*search/imdbid.*/sublanguageid.*/moviename.*' : SubtitlesPage, 'http://www.opensubtitles.org.*search/imdbid.*/sublanguageid.*/moviename.*' : SubtitlesPage,
'http://www.opensubtitles.org.*subtitles/[0-9]*/.*' : SubtitlePage 'http://www.opensubtitles.org.*subtitles/[0-9]*/.*' : SubtitlePage
} }
LANGUAGE_CONV = {'fr':'fre','en':'eng'}
def iter_subtitles(self, language, pattern): def iter_subtitles(self, language, pattern):
lang = self.LANGUAGE_CONV[language] lang = LANGUAGE_CONV[language]
self.location('http://www.opensubtitles.org/search2/sublanguageid-%s/moviename-%s' % (lang,pattern.encode('utf-8'))) self.location('http://www.opensubtitles.org/search2/sublanguageid-%s/moviename-%s' % (lang,pattern.encode('utf-8')))
assert self.is_on_page(SearchPage) or self.is_on_page(SubtitlesPage) or self.is_on_page(SubtitlePage) assert self.is_on_page(SearchPage) or self.is_on_page(SubtitlesPage) or self.is_on_page(SubtitlePage)
return self.page.iter_subtitles() return self.page.iter_subtitles()