diff options
Diffstat (limited to 'youtube_dl')
| -rw-r--r-- | youtube_dl/extractor/keezmovies.py | 38 | 
1 files changed, 24 insertions, 14 deletions
diff --git a/youtube_dl/extractor/keezmovies.py b/youtube_dl/extractor/keezmovies.py index d79261bb5..126ca13df 100644 --- a/youtube_dl/extractor/keezmovies.py +++ b/youtube_dl/extractor/keezmovies.py @@ -1,23 +1,25 @@  from __future__ import unicode_literals -import os  import re  from .common import InfoExtractor -from ..compat import compat_urllib_parse_urlparse -from ..utils import sanitized_Request +from ..utils import ( +    sanitized_Request, +    url_basename, +)  class KeezMoviesIE(InfoExtractor):      _VALID_URL = r'https?://(?:www\.)?keezmovies\.com/video/.+?(?P<id>[0-9]+)(?:[/?&]|$)'      _TEST = {          'url': 'http://www.keezmovies.com/video/petite-asian-lady-mai-playing-in-bathtub-1214711', -        'md5': '6e297b7e789329923fcf83abb67c9289', +        'md5': '1c1e75d22ffa53320f45eeb07bc4cdc0',          'info_dict': {              'id': '1214711',              'ext': 'mp4',              'title': 'Petite Asian Lady Mai Playing In Bathtub',              'age_limit': 18, +            'thumbnail': 're:^https?://.*\.jpg$',          }      } @@ -36,21 +38,29 @@ class KeezMoviesIE(InfoExtractor):          video_title = self._html_search_regex(              r'<h1 [^>]*>([^<]+)', webpage, 'title') -        video_url = self._html_search_regex( -            r'(?s)html5VideoPlayer = .*?src="([^"]+)"', webpage, 'video URL') -        path = compat_urllib_parse_urlparse(video_url).path -        extension = os.path.splitext(path)[1][1:] -        format = path.split('/')[4].split('_')[:2] -        format = "-".join(format) +        flashvars = self._parse_json(self._search_regex( +            r'var\s+flashvars\s*=\s*([^;]+);', webpage, 'flashvars'), video_id) + +        formats = [] +        for height in (180, 240, 480): +            if flashvars.get('quality_%dp' % height): +                video_url = flashvars['quality_%dp' % height] +                a_format = { +                    'url': video_url, +                    'height': height, +                    'format_id': '%dp' % height, +                } +                filename_parts = url_basename(video_url).split('_') +                if len(filename_parts) >= 2 and re.match(r'\d+[Kk]', filename_parts[1]): +                    a_format['tbr'] = int(filename_parts[1][:-1]) +                formats.append(a_format)          age_limit = self._rta_search(webpage)          return {              'id': video_id,              'title': video_title, -            'url': video_url, -            'ext': extension, -            'format': format, -            'format_id': format, +            'formats': formats,              'age_limit': age_limit, +            'thumbnail': flashvars.get('image_url')          }  | 
