mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 06:35:12 +00:00 
			
		
		
		
	[hotstar] Add support for alternative app state layout (closes #18320)
This commit is contained in:
		| @@ -43,6 +43,7 @@ class HotStarIE(HotStarBaseIE): | ||||
|     IE_NAME = 'hotstar' | ||||
|     _VALID_URL = r'https?://(?:www\.)?hotstar\.com/(?:.+?[/-])?(?P<id>\d{10})' | ||||
|     _TESTS = [{ | ||||
|         # contentData | ||||
|         'url': 'https://www.hotstar.com/can-you-not-spread-rumours/1000076273', | ||||
|         'info_dict': { | ||||
|             'id': '1000076273', | ||||
| @@ -57,6 +58,10 @@ class HotStarIE(HotStarBaseIE): | ||||
|             # m3u8 download | ||||
|             'skip_download': True, | ||||
|         } | ||||
|     }, { | ||||
|         # contentDetail | ||||
|         'url': 'https://www.hotstar.com/movies/radha-gopalam/1000057157', | ||||
|         'only_matching': True, | ||||
|     }, { | ||||
|         'url': 'http://www.hotstar.com/sports/cricket/rajitha-sizzles-on-debut-with-329/2001477583', | ||||
|         'only_matching': True, | ||||
| @@ -74,8 +79,12 @@ class HotStarIE(HotStarBaseIE): | ||||
|             r'<script>window\.APP_STATE\s*=\s*({.+?})</script>', | ||||
|             webpage, 'app state'), video_id) | ||||
|         video_data = {} | ||||
|         getters = ( | ||||
|             lambda x, k=k: x['initialState']['content%s' % k]['content'] | ||||
|             for k in ('Data', 'Detail') | ||||
|         ) | ||||
|         for v in app_state.values(): | ||||
|             content = try_get(v, lambda x: x['initialState']['contentData']['content'], dict) | ||||
|             content = try_get(v, getters, dict) | ||||
|             if content and content.get('contentId') == video_id: | ||||
|                 video_data = content | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Sergey M․
					Sergey M․