mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 22:55:18 +00:00 
			
		
		
		
	Updated to release 2020.11.21.1
This commit is contained in:
		| @@ -9,6 +9,7 @@ from ..utils import ( | ||||
|     determine_ext, | ||||
|     dict_get, | ||||
|     int_or_none, | ||||
|     unified_timestamp, | ||||
|     str_or_none, | ||||
|     strip_or_none, | ||||
|     try_get, | ||||
| @@ -44,7 +45,8 @@ class SVTBaseIE(InfoExtractor): | ||||
|                     'format_id': player_type, | ||||
|                     'url': vurl, | ||||
|                 }) | ||||
|         if not formats and video_info.get('rights', {}).get('geoBlockedSweden'): | ||||
|         rights = try_get(video_info, lambda x: x['rights'], dict) or {} | ||||
|         if not formats and rights.get('geoBlockedSweden'): | ||||
|             self.raise_geo_restricted( | ||||
|                 'This video is only available in Sweden', | ||||
|                 countries=self._GEO_COUNTRIES) | ||||
| @@ -70,6 +72,7 @@ class SVTBaseIE(InfoExtractor): | ||||
|         episode = video_info.get('episodeTitle') | ||||
|         episode_number = int_or_none(video_info.get('episodeNumber')) | ||||
|  | ||||
|         timestamp = unified_timestamp(rights.get('validFrom')) | ||||
|         duration = int_or_none(dict_get(video_info, ('materialLength', 'contentDuration'))) | ||||
|         age_limit = None | ||||
|         adult = dict_get( | ||||
| @@ -84,6 +87,7 @@ class SVTBaseIE(InfoExtractor): | ||||
|             'formats': formats, | ||||
|             'subtitles': subtitles, | ||||
|             'duration': duration, | ||||
|             'timestamp': timestamp, | ||||
|             'age_limit': age_limit, | ||||
|             'series': series, | ||||
|             'season_number': season_number, | ||||
| @@ -136,26 +140,39 @@ class SVTPlayIE(SVTPlayBaseIE): | ||||
|     IE_DESC = 'SVT Play and Öppet arkiv' | ||||
|     _VALID_URL = r'''(?x) | ||||
|                     (?: | ||||
|                         svt:(?P<svt_id>[^/?#&]+)| | ||||
|                         (?: | ||||
|                             svt:| | ||||
|                             https?://(?:www\.)?svt\.se/barnkanalen/barnplay/[^/]+/ | ||||
|                         ) | ||||
|                         (?P<svt_id>[^/?#&]+)| | ||||
|                         https?://(?:www\.)?(?:svtplay|oppetarkiv)\.se/(?:video|klipp|kanaler)/(?P<id>[^/?#&]+) | ||||
|                     ) | ||||
|                     ''' | ||||
|     _TESTS = [{ | ||||
|         'url': 'http://www.svtplay.se/video/5996901/flygplan-till-haile-selassie/flygplan-till-haile-selassie-2', | ||||
|         'md5': '2b6704fe4a28801e1a098bbf3c5ac611', | ||||
|         'url': 'https://www.svtplay.se/video/26194546/det-har-ar-himlen', | ||||
|         'md5': '2382036fd6f8c994856c323fe51c426e', | ||||
|         'info_dict': { | ||||
|             'id': '5996901', | ||||
|             'id': 'jNwpV9P', | ||||
|             'ext': 'mp4', | ||||
|             'title': 'Flygplan till Haile Selassie', | ||||
|             'duration': 3527, | ||||
|             'thumbnail': r're:^https?://.*[\.-]jpg$', | ||||
|             'title': 'Det här är himlen', | ||||
|             'timestamp': 1586044800, | ||||
|             'upload_date': '20200405', | ||||
|             'duration': 3515, | ||||
|             'thumbnail': r're:^https?://(?:.*[\.-]jpg|www.svtstatic.se/image/.*)$', | ||||
|             'age_limit': 0, | ||||
|             'subtitles': { | ||||
|                 'sv': [{ | ||||
|                     'ext': 'wsrt', | ||||
|                     'ext': 'vtt', | ||||
|                 }] | ||||
|             }, | ||||
|         }, | ||||
|         'params': { | ||||
|             'format': 'bestvideo', | ||||
|             # skip for now due to download test asserts that segment is > 10000 bytes and svt uses | ||||
|             # init segments that are smaller | ||||
|             # AssertionError: Expected test_SVTPlay_jNwpV9P.mp4 to be at least 9.77KiB, but it's only 864.00B | ||||
|             'skip_download': True, | ||||
|         }, | ||||
|     }, { | ||||
|         # geo restricted to Sweden | ||||
|         'url': 'http://www.oppetarkiv.se/video/5219710/trollflojten', | ||||
| @@ -172,6 +189,12 @@ class SVTPlayIE(SVTPlayBaseIE): | ||||
|     }, { | ||||
|         'url': 'svt:14278044', | ||||
|         'only_matching': True, | ||||
|     }, { | ||||
|         'url': 'https://www.svt.se/barnkanalen/barnplay/kar/eWv5MLX/', | ||||
|         'only_matching': True, | ||||
|     }, { | ||||
|         'url': 'svt:eWv5MLX', | ||||
|         'only_matching': True, | ||||
|     }] | ||||
|  | ||||
|     def _adjust_title(self, info): | ||||
| @@ -236,7 +259,10 @@ class SVTPlayIE(SVTPlayBaseIE): | ||||
|                  r'["\']svtId["\']\s*:\s*["\']([\da-zA-Z-]+)'), | ||||
|                 webpage, 'video id') | ||||
|  | ||||
|         return self._extract_by_video_id(svt_id, webpage) | ||||
|         info_dict = self._extract_by_video_id(svt_id, webpage) | ||||
|         info_dict['thumbnail'] = thumbnail | ||||
|  | ||||
|         return info_dict | ||||
|  | ||||
|  | ||||
| class SVTSeriesIE(SVTPlayBaseIE): | ||||
| @@ -360,7 +386,7 @@ class SVTPageIE(InfoExtractor): | ||||
|  | ||||
|     @classmethod | ||||
|     def suitable(cls, url): | ||||
|         return False if SVTIE.suitable(url) else super(SVTPageIE, cls).suitable(url) | ||||
|         return False if SVTIE.suitable(url) or SVTPlayIE.suitable(url) else super(SVTPageIE, cls).suitable(url) | ||||
|  | ||||
|     def _real_extract(self, url): | ||||
|         path, display_id = re.match(self._VALID_URL, url).groups() | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 pukkandan
					pukkandan