mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 14:45:14 +00:00 
			
		
		
		
	[extractor/JWPlatform] Fix extractor (#5112)
Fix bitrate and filesize extraction and support embeds with unquoted urls. Related: #5106 Authored by: coletdjnz
This commit is contained in:
		| @@ -3587,7 +3587,8 @@ class InfoExtractor: | |||||||
|                     'url': source_url, |                     'url': source_url, | ||||||
|                     'width': int_or_none(source.get('width')), |                     'width': int_or_none(source.get('width')), | ||||||
|                     'height': height, |                     'height': height, | ||||||
|                     'tbr': int_or_none(source.get('bitrate')), |                     'tbr': int_or_none(source.get('bitrate'), scale=1000), | ||||||
|  |                     'filesize': int_or_none(source.get('filesize')), | ||||||
|                     'ext': ext, |                     'ext': ext, | ||||||
|                 } |                 } | ||||||
|                 if source_url.startswith('rtmp'): |                 if source_url.startswith('rtmp'): | ||||||
|   | |||||||
| @@ -1071,18 +1071,6 @@ class GenericIE(InfoExtractor): | |||||||
|                 'skip_download': True, |                 'skip_download': True, | ||||||
|             } |             } | ||||||
|         }, |         }, | ||||||
|         { |  | ||||||
|             # JWPlatform iframe |  | ||||||
|             'url': 'https://www.covermagazine.co.uk/feature/2465255/business-protection-involved', |  | ||||||
|             'info_dict': { |  | ||||||
|                 'id': 'AG26UQXM', |  | ||||||
|                 'ext': 'mp4', |  | ||||||
|                 'upload_date': '20160719', |  | ||||||
|                 'timestamp': 468923808, |  | ||||||
|                 'title': '2016_05_18 Cover L&G Business Protection V1 FINAL.mp4', |  | ||||||
|             }, |  | ||||||
|             'add_ie': ['JWPlatform'], |  | ||||||
|         }, |  | ||||||
|         { |         { | ||||||
|             # Video.js embed, multiple formats |             # Video.js embed, multiple formats | ||||||
|             'url': 'http://ortcam.com/solidworks-урок-6-настройка-чертежа_33f9b7351.html', |             'url': 'http://ortcam.com/solidworks-урок-6-настройка-чертежа_33f9b7351.html', | ||||||
|   | |||||||
| @@ -22,13 +22,42 @@ class JWPlatformIE(InfoExtractor): | |||||||
|         'only_matching': True, |         'only_matching': True, | ||||||
|     }] |     }] | ||||||
| 
 | 
 | ||||||
|  |     _WEBPAGE_TESTS = [{ | ||||||
|  |         # JWPlatform iframe | ||||||
|  |         'url': 'https://www.covermagazine.co.uk/feature/2465255/business-protection-involved', | ||||||
|  |         'info_dict': { | ||||||
|  |             'id': 'AG26UQXM', | ||||||
|  |             'ext': 'mp4', | ||||||
|  |             'upload_date': '20160719', | ||||||
|  |             'timestamp': 1468923808, | ||||||
|  |             'title': '2016_05_18 Cover L&G Business Protection V1 FINAL.mp4', | ||||||
|  |             'thumbnail': 'https://cdn.jwplayer.com/v2/media/AG26UQXM/poster.jpg?width=720', | ||||||
|  |             'description': '', | ||||||
|  |             'duration': 294.0, | ||||||
|  |         }, | ||||||
|  |     }, { | ||||||
|  |         # Player url not surrounded by quotes | ||||||
|  |         'url': 'https://www.deutsche-kinemathek.de/en/online/streaming/darling-berlin', | ||||||
|  |         'info_dict': { | ||||||
|  |             'id': 'R10NQdhY', | ||||||
|  |             'title': 'Playgirl', | ||||||
|  |             'ext': 'mp4', | ||||||
|  |             'upload_date': '20220624', | ||||||
|  |             'thumbnail': 'https://cdn.jwplayer.com/v2/media/R10NQdhY/poster.jpg?width=720', | ||||||
|  |             'timestamp': 1656064800, | ||||||
|  |             'description': 'BRD 1966, Will Tremper', | ||||||
|  |             'duration': 5146.0, | ||||||
|  |         }, | ||||||
|  |         'params': {'allowed_extractors': ['generic', 'jwplatform']}, | ||||||
|  |     }] | ||||||
|  | 
 | ||||||
|     @classmethod |     @classmethod | ||||||
|     def _extract_embed_urls(cls, url, webpage): |     def _extract_embed_urls(cls, url, webpage): | ||||||
|         for tag, key in ((r'(?:script|iframe)', 'src'), ('input', 'value')): |         for tag, key in ((r'(?:script|iframe)', 'src'), ('input', 'value')): | ||||||
|             # <input value=URL> is used by hyland.com |             # <input value=URL> is used by hyland.com | ||||||
|             # if we find <iframe>, dont look for <input> |             # if we find <iframe>, dont look for <input> | ||||||
|             ret = re.findall( |             ret = re.findall( | ||||||
|                 r'<%s[^>]+?%s=["\']((?:https?:)?//(?:content\.jwplatform|cdn\.jwplayer)\.com/players/[a-zA-Z0-9]{8})' % (tag, key), |                 r'<%s[^>]+?%s=["\']?((?:https?:)?//(?:content\.jwplatform|cdn\.jwplayer)\.com/players/[a-zA-Z0-9]{8})' % (tag, key), | ||||||
|                 webpage) |                 webpage) | ||||||
|             if ret: |             if ret: | ||||||
|                 return ret |                 return ret | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 coletdjnz
					coletdjnz