diff options
Diffstat (limited to 'youtube_dl/extractor/videofyme.py')
| -rw-r--r-- | youtube_dl/extractor/videofyme.py | 40 | 
1 files changed, 21 insertions, 19 deletions
| diff --git a/youtube_dl/extractor/videofyme.py b/youtube_dl/extractor/videofyme.py index 94f9e9be9..cd3f50a63 100644 --- a/youtube_dl/extractor/videofyme.py +++ b/youtube_dl/extractor/videofyme.py @@ -2,8 +2,8 @@ from __future__ import unicode_literals  from .common import InfoExtractor  from ..utils import ( -    find_xpath_attr,      int_or_none, +    parse_iso8601,  ) @@ -18,33 +18,35 @@ class VideofyMeIE(InfoExtractor):              'id': '1100701',              'ext': 'mp4',              'title': 'This is VideofyMe', -            'description': None, +            'description': '', +            'upload_date': '20130326', +            'timestamp': 1364288959,              'uploader': 'VideofyMe',              'uploader_id': 'thisisvideofyme',              'view_count': int, +            'likes': int, +            'comment_count': int,          }, -      }      def _real_extract(self, url):          video_id = self._match_id(url) -        config = self._download_xml('http://sunshine.videofy.me/?videoId=%s' % video_id, -                                    video_id) -        video = config.find('video') -        sources = video.find('sources') -        url_node = next(node for node in [find_xpath_attr(sources, 'source', 'id', 'HQ %s' % key) -                                          for key in ['on', 'av', 'off']] if node is not None) -        video_url = url_node.find('url').text -        view_count = int_or_none(self._search_regex( -            r'([0-9]+)', video.find('views').text, 'view count', fatal=False)) + +        config = self._download_json('http://vf-player-info-loader.herokuapp.com/%s.json' % video_id, video_id)['videoinfo'] + +        video = config.get('video') +        blog = config.get('blog', {})          return {              'id': video_id, -            'title': video.find('title').text, -            'url': video_url, -            'thumbnail': video.find('thumb').text, -            'description': video.find('description').text, -            'uploader': config.find('blog/name').text, -            'uploader_id': video.find('identifier').text, -            'view_count': view_count, +            'title': video['title'], +            'url': video['sources']['source']['url'], +            'thumbnail': video.get('thumb'), +            'description': video.get('description'), +            'timestamp': parse_iso8601(video.get('date')), +            'uploader': blog.get('name'), +            'uploader_id': blog.get('identifier'), +            'view_count': int_or_none(self._search_regex(r'([0-9]+)', video.get('views'), 'view count', fatal=False)), +            'likes': int_or_none(video.get('likes')), +            'comment_count': int_or_none(video.get('nrOfComments')),          } | 
