diff options
| author | Parmjit Virk <pvirk@mts.net> | 2018-04-19 10:25:51 -0500 | 
|---|---|---|
| committer | Sergey M <dstftw@gmail.com> | 2018-04-19 22:25:51 +0700 | 
| commit | 1792bc3a06dbdb788d12a1e6a4a8d7072be70edb (patch) | |
| tree | c2b2dc1ec763b9b455f31f90ca8a2755de0eaa5a | |
| parent | 5a19d231ca8e15d07c2a5ebd3cd6cc46b7596edc (diff) | |
[keezmovies] Add support for generic embeds (closes #16134)
| -rw-r--r-- | youtube_dl/extractor/keezmovies.py | 28 | 
1 files changed, 17 insertions, 11 deletions
diff --git a/youtube_dl/extractor/keezmovies.py b/youtube_dl/extractor/keezmovies.py index e83115e2a..d4e6f7ac1 100644 --- a/youtube_dl/extractor/keezmovies.py +++ b/youtube_dl/extractor/keezmovies.py @@ -20,23 +20,23 @@ from ..utils import (  class KeezMoviesIE(InfoExtractor):      _VALID_URL = r'https?://(?:www\.)?keezmovies\.com/video/(?:(?P<display_id>[^/]+)-)?(?P<id>\d+)'      _TESTS = [{ -        'url': 'http://www.keezmovies.com/video/petite-asian-lady-mai-playing-in-bathtub-1214711', -        'md5': '1c1e75d22ffa53320f45eeb07bc4cdc0', +        'url': 'https://www.keezmovies.com/video/arab-wife-want-it-so-bad-i-see-she-thirsty-and-has-tiny-money-18070681', +        'md5': '2ac69cdb882055f71d82db4311732a1a',          'info_dict': { -            'id': '1214711', -            'display_id': 'petite-asian-lady-mai-playing-in-bathtub', +            'id': '18070681', +            'display_id': 'arab-wife-want-it-so-bad-i-see-she-thirsty-and-has-tiny-money',              'ext': 'mp4', -            'title': 'Petite Asian Lady Mai Playing In Bathtub', -            'thumbnail': r're:^https?://.*\.jpg$', +            'title': 'Arab wife want it so bad I see she thirsty and has tiny money.', +            'thumbnail': None,              'view_count': int,              'age_limit': 18,          }      }, { -        'url': 'http://www.keezmovies.com/video/1214711', +        'url': 'http://www.keezmovies.com/video/18070681',          'only_matching': True,      }] -    def _extract_info(self, url): +    def _extract_info(self, url, fatal=True):          mobj = re.match(self._VALID_URL, url)          video_id = mobj.group('id')          display_id = (mobj.group('display_id') @@ -55,7 +55,7 @@ class KeezMoviesIE(InfoExtractor):          encrypted = False          def extract_format(format_url, height=None): -            if not isinstance(format_url, compat_str) or not format_url.startswith('http'): +            if not isinstance(format_url, compat_str) or not format_url.startswith(('http', '//')):                  return              if format_url in format_urls:                  return @@ -105,7 +105,11 @@ class KeezMoviesIE(InfoExtractor):                  raise ExtractorError(                      'Video %s is no longer available' % video_id, expected=True) -        self._sort_formats(formats) +        try: +            self._sort_formats(formats) +        except ExtractorError: +            if fatal: +                raise          if not title:              title = self._html_search_regex( @@ -122,7 +126,9 @@ class KeezMoviesIE(InfoExtractor):          }      def _real_extract(self, url): -        webpage, info = self._extract_info(url) +        webpage, info = self._extract_info(url, fatal=False) +        if not info['formats']: +            return self.url_result(url, 'Generic')          info['view_count'] = str_to_int(self._search_regex(              r'<b>([\d,.]+)</b> Views?', webpage, 'view count', fatal=False))          return info  | 
