diff options
Diffstat (limited to 'youtube_dl/extractor/ellentv.py')
| -rw-r--r-- | youtube_dl/extractor/ellentv.py | 35 | 
1 files changed, 25 insertions, 10 deletions
diff --git a/youtube_dl/extractor/ellentv.py b/youtube_dl/extractor/ellentv.py index 3e7923648..fc92ff825 100644 --- a/youtube_dl/extractor/ellentv.py +++ b/youtube_dl/extractor/ellentv.py @@ -1,7 +1,6 @@  # coding: utf-8  from __future__ import unicode_literals -import re  import json  from .common import InfoExtractor @@ -12,32 +11,49 @@ from ..utils import (  class EllenTVIE(InfoExtractor): -    _VALID_URL = r'https?://(?:www\.)?ellentv\.com/videos/(?P<id>[a-z0-9_-]+)' -    _TEST = { +    _VALID_URL = r'https?://(?:www\.)?(?:ellentv|ellentube)\.com/videos/(?P<id>[a-z0-9_-]+)' +    _TESTS = [{          'url': 'http://www.ellentv.com/videos/0-7jqrsr18/',          'md5': 'e4af06f3bf0d5f471921a18db5764642',          'info_dict': {              'id': '0-7jqrsr18',              'ext': 'mp4',              'title': 'What\'s Wrong with These Photos? A Whole Lot', +            'description': 'md5:35f152dc66b587cf13e6d2cf4fa467f6',              'timestamp': 1406876400,              'upload_date': '20140801',          } -    } +    }, { +        'url': 'http://ellentube.com/videos/0-dvzmabd5/', +        'md5': '98238118eaa2bbdf6ad7f708e3e4f4eb', +        'info_dict': { +            'id': '0-dvzmabd5', +            'ext': 'mp4', +            'title': '1 year old twin sister makes her brother laugh', +            'description': '1 year old twin sister makes her brother laugh', +            'timestamp': 1419542075, +            'upload_date': '20141225', +        } +    }]      def _real_extract(self, url): -        mobj = re.match(self._VALID_URL, url) -        video_id = mobj.group('id') +        video_id = self._match_id(url)          webpage = self._download_webpage(url, video_id) +        video_url = self._html_search_meta('VideoURL', webpage, 'url') +        title = self._og_search_title(webpage, default=None) or self._search_regex( +            r'pageName\s*=\s*"([^"]+)"', webpage, 'title') +        description = self._html_search_meta( +            'description', webpage, 'description') or self._og_search_description(webpage)          timestamp = parse_iso8601(self._search_regex(              r'<span class="publish-date"><time datetime="([^"]+)">',              webpage, 'timestamp'))          return {              'id': video_id, -            'title': self._og_search_title(webpage), -            'url': self._html_search_meta('VideoURL', webpage, 'url'), +            'url': video_url, +            'title': title, +            'description': description,              'timestamp': timestamp,          } @@ -55,8 +71,7 @@ class EllenTVClipsIE(InfoExtractor):      }      def _real_extract(self, url): -        mobj = re.match(self._VALID_URL, url) -        playlist_id = mobj.group('id') +        playlist_id = self._match_id(url)          webpage = self._download_webpage(url, playlist_id)          playlist = self._extract_playlist(webpage)  | 
