diff options
| author | Jaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com> | 2015-02-16 21:28:06 +0100 | 
|---|---|---|
| committer | Jaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com> | 2015-02-16 21:51:08 +0100 | 
| commit | a1f2a06b34807a2e1b5eb5176fa418da2405392d (patch) | |
| tree | 00c6771410b16840c57b2a5de1a5a7b4e8362bc7 | |
| parent | c84dd8a90dcc75547b343449b921b644a2119c4f (diff) | |
[dailymotion] Convert to new subtitles system
| -rw-r--r-- | test/test_subtitles.py | 17 | ||||
| -rw-r--r-- | youtube_dl/extractor/dailymotion.py | 10 | 
2 files changed, 3 insertions, 24 deletions
diff --git a/test/test_subtitles.py b/test/test_subtitles.py index b3c615c4f..84ae0e714 100644 --- a/test/test_subtitles.py +++ b/test/test_subtitles.py @@ -127,10 +127,6 @@ class TestDailymotionSubtitles(BaseTestSubtitles):      url = 'http://www.dailymotion.com/video/xczg00'      IE = DailymotionIE -    def test_no_writesubtitles(self): -        subtitles = self.getSubtitles() -        self.assertEqual(subtitles, None) -      def test_subtitles(self):          self.DL.params['writesubtitles'] = True          subtitles = self.getSubtitles() @@ -148,19 +144,6 @@ class TestDailymotionSubtitles(BaseTestSubtitles):          subtitles = self.getSubtitles()          self.assertTrue(len(subtitles.keys()) >= 6) -    def test_list_subtitles(self): -        self.DL.expect_warning('Automatic Captions not supported by this server') -        self.DL.params['listsubtitles'] = True -        info_dict = self.getInfoDict() -        self.assertEqual(info_dict, None) - -    def test_automatic_captions(self): -        self.DL.expect_warning('Automatic Captions not supported by this server') -        self.DL.params['writeautomaticsub'] = True -        self.DL.params['subtitleslang'] = ['en'] -        subtitles = self.getSubtitles() -        self.assertTrue(len(subtitles.keys()) == 0) -      def test_nosubtitles(self):          self.DL.expect_warning('video doesn\'t have subtitles')          self.url = 'http://www.dailymotion.com/video/x12u166_le-zapping-tele-star-du-08-aout-2013_tv' diff --git a/youtube_dl/extractor/dailymotion.py b/youtube_dl/extractor/dailymotion.py index cf5841a7c..4ca892926 100644 --- a/youtube_dl/extractor/dailymotion.py +++ b/youtube_dl/extractor/dailymotion.py @@ -6,7 +6,6 @@ import json  import itertools  from .common import InfoExtractor -from .subtitles import SubtitlesInfoExtractor  from ..compat import (      compat_str, @@ -31,7 +30,7 @@ class DailymotionBaseInfoExtractor(InfoExtractor):          return request -class DailymotionIE(DailymotionBaseInfoExtractor, SubtitlesInfoExtractor): +class DailymotionIE(DailymotionBaseInfoExtractor):      """Information Extractor for Dailymotion"""      _VALID_URL = r'(?i)(?:https?://)?(?:(www|touch)\.)?dailymotion\.[a-z]{2,3}/(?:(embed|#)/)?video/(?P<id>[^/?_]+)' @@ -143,9 +142,6 @@ class DailymotionIE(DailymotionBaseInfoExtractor, SubtitlesInfoExtractor):          # subtitles          video_subtitles = self.extract_subtitles(video_id, webpage) -        if self._downloader.params.get('listsubtitles', False): -            self._list_available_subtitles(video_id, webpage) -            return          view_count = str_to_int(self._search_regex(              r'video_views_count[^>]+>\s+([\d\.,]+)', @@ -169,7 +165,7 @@ class DailymotionIE(DailymotionBaseInfoExtractor, SubtitlesInfoExtractor):              'view_count': view_count,          } -    def _get_available_subtitles(self, video_id, webpage): +    def _get_subtitles(self, video_id, webpage):          try:              sub_list = self._download_webpage(                  'https://api.dailymotion.com/video/%s/subtitles?fields=id,language,url' % video_id, @@ -179,7 +175,7 @@ class DailymotionIE(DailymotionBaseInfoExtractor, SubtitlesInfoExtractor):              return {}          info = json.loads(sub_list)          if (info['total'] > 0): -            sub_lang_list = dict((l['language'], l['url']) for l in info['list']) +            sub_lang_list = dict((l['language'], [{'url': l['url'], 'ext': 'srt'}]) for l in info['list'])              return sub_lang_list          self._downloader.report_warning('video doesn\'t have subtitles')          return {}  | 
