mirror of
				https://gitlab.com/ytdl-org/youtube-dl.git
				synced 2025-11-04 03:27:06 -05:00 
			
		
		
		
	[keezmovies] Add support for generic embeds (closes #16134)
This commit is contained in:
		@@ -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
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user