diff options
| author | Sergey M․ <dstftw@gmail.com> | 2014-09-04 19:48:29 +0700 | 
|---|---|---|
| committer | Sergey M․ <dstftw@gmail.com> | 2014-09-04 19:48:29 +0700 | 
| commit | c1a3c9ddb2cd9401fd40cca460b4577ea25f185f (patch) | |
| tree | 0660c5f23b45f46166d9bab7fce8b52f5894fc66 | |
| parent | feec0f56f5095a0ee9eaf373b386992256e62a75 (diff) | |
[techtalks] Modernize
| -rw-r--r-- | youtube_dl/extractor/techtalks.py | 76 | 
1 files changed, 45 insertions, 31 deletions
| diff --git a/youtube_dl/extractor/techtalks.py b/youtube_dl/extractor/techtalks.py index a55f236cb..16e945d8e 100644 --- a/youtube_dl/extractor/techtalks.py +++ b/youtube_dl/extractor/techtalks.py @@ -1,3 +1,5 @@ +from __future__ import unicode_literals +  import re  from .common import InfoExtractor @@ -11,24 +13,30 @@ class TechTalksIE(InfoExtractor):      _VALID_URL = r'https?://techtalks\.tv/talks/[^/]*/(?P<id>\d+)/'      _TEST = { -        u'url': u'http://techtalks.tv/talks/learning-topic-models-going-beyond-svd/57758/', -        u'playlist': [ +        'url': 'http://techtalks.tv/talks/learning-topic-models-going-beyond-svd/57758/', +        'info_dict': { +            'id': '57758', +            'title': 'Learning Topic Models --- Going beyond SVD', +        }, +        'playlist': [              { -                u'file': u'57758.flv', -                u'info_dict': { -                    u'title': u'Learning Topic Models --- Going beyond SVD', +                'info_dict': { +                    'id': '57758', +                    'ext': 'flv', +                    'title': 'Learning Topic Models --- Going beyond SVD',                  },              },              { -                u'file': u'57758-slides.flv', -                u'info_dict': { -                    u'title': u'Learning Topic Models --- Going beyond SVD', +                'info_dict': { +                    'id': '57758-slides', +                    'ext': 'flv', +                    'title': 'Learning Topic Models --- Going beyond SVD',                  },              },          ], -        u'params': { +        'params': {              # rtmp download -            u'skip_download': True, +            'skip_download': True,          },      } @@ -36,30 +44,36 @@ class TechTalksIE(InfoExtractor):          mobj = re.match(self._VALID_URL, url)          talk_id = mobj.group('id')          webpage = self._download_webpage(url, talk_id) -        rtmp_url = self._search_regex(r'netConnectionUrl: \'(.*?)\'', webpage, -            u'rtmp url') -        play_path = self._search_regex(r'href=\'(.*?)\' [^>]*id="flowplayer_presenter"', -            webpage, u'presenter play path') +        rtmp_url = self._search_regex( +            r'netConnectionUrl: \'(.*?)\'', webpage, 'rtmp url') +        play_path = self._search_regex( +            r'href=\'(.*?)\' [^>]*id="flowplayer_presenter"', +            webpage, 'presenter play path')          title = clean_html(get_element_by_attribute('class', 'title', webpage))          video_info = { -                'id': talk_id, -                'title': title, -                'url': rtmp_url, -                'play_path': play_path, -                'ext': 'flv', -            } +            'id': talk_id, +            'title': title, +            'url': rtmp_url, +            'play_path': play_path, +            'ext': 'flv', +        }          m_slides = re.search(r'<a class="slides" href=\'(.*?)\'', webpage)          if m_slides is None:              return video_info          else: -            return [ -                video_info, -                # The slides video -                { -                    'id': talk_id + '-slides', -                    'title': title, -                    'url': rtmp_url, -                    'play_path': m_slides.group(1), -                    'ext': 'flv', -                }, -            ] +            return { +                '_type': 'playlist', +                'id': talk_id, +                'title': title, +                'entries': [ +                    video_info, +                    # The slides video +                    { +                        'id': talk_id + '-slides', +                        'title': title, +                        'url': rtmp_url, +                        'play_path': m_slides.group(1), +                        'ext': 'flv', +                    }, +                ], +            } | 
