+
+ def _download_json(self, *args, **kwargs):
+ response = super(HotStarBaseIE, self)._download_json(*args, **kwargs)
+ if response['resultCode'] != 'OK':
+ if kwargs.get('fatal'):
+ raise ExtractorError(
+ response['errorDescription'], expected=True)
+ return None
+ return response['resultObj']
+
+ def _download_content_info(self, content_id):
+ return self._download_json(
+ 'https://account.hotstar.com/AVS/besc', content_id, query={
+ 'action': 'GetAggregatedContentDetails',
+ 'appVersion': '5.0.40',
+ 'channel': 'PCTV',
+ 'contentId': content_id,
+ })['contentInfo'][0]
+
+
+class HotStarIE(HotStarBaseIE):
+ _VALID_URL = r'https?://(?:www\.)?hotstar\.com/(?:.+?[/-])?(?P<id>\d{10})'