[nationalgeographic] add support Adobe Pass auth
This commit is contained in:
		| @@ -1,6 +1,7 @@ | |||||||
| from __future__ import unicode_literals | from __future__ import unicode_literals | ||||||
|  |  | ||||||
| from .common import InfoExtractor | from .common import InfoExtractor | ||||||
|  | from .theplatform import ThePlatformIE | ||||||
| from ..utils import ( | from ..utils import ( | ||||||
|     smuggle_url, |     smuggle_url, | ||||||
|     url_basename, |     url_basename, | ||||||
| @@ -61,7 +62,7 @@ class NationalGeographicIE(InfoExtractor): | |||||||
|         } |         } | ||||||
|  |  | ||||||
|  |  | ||||||
| class NationalGeographicChannelIE(InfoExtractor): | class NationalGeographicChannelIE(ThePlatformIE): | ||||||
|     IE_NAME = 'natgeo:channel' |     IE_NAME = 'natgeo:channel' | ||||||
|     _VALID_URL = r'https?://channel\.nationalgeographic\.com/(?:wild/)?[^/]+/videos/(?P<id>[^/?]+)' |     _VALID_URL = r'https?://channel\.nationalgeographic\.com/(?:wild/)?[^/]+/videos/(?P<id>[^/?]+)' | ||||||
|  |  | ||||||
| @@ -102,12 +103,22 @@ class NationalGeographicChannelIE(InfoExtractor): | |||||||
|         release_url = self._search_regex( |         release_url = self._search_regex( | ||||||
|             r'video_auth_playlist_url\s*=\s*"([^"]+)"', |             r'video_auth_playlist_url\s*=\s*"([^"]+)"', | ||||||
|             webpage, 'release url') |             webpage, 'release url') | ||||||
|  |         query = { | ||||||
|  |             'mbr': 'true', | ||||||
|  |             'manifest': 'm3u', | ||||||
|  |         } | ||||||
|  |         is_auth = self._search_regex(r'video_is_auth\s*=\s*"([^"]+)"', webpage, 'is auth', fatal=False) | ||||||
|  |         if is_auth == 'auth': | ||||||
|  |             auth_resource_id = self._search_regex( | ||||||
|  |                 r"video_auth_resourceId\s*=\s*'([^']+)'", | ||||||
|  |                 webpage, 'auth resource id') | ||||||
|  |             query['auth'] = self._extract_mvpd_auth(url, display_id, 'natgeo', auth_resource_id) or '' | ||||||
|  |  | ||||||
|         return { |         return { | ||||||
|             '_type': 'url_transparent', |             '_type': 'url_transparent', | ||||||
|             'ie_key': 'ThePlatform', |             'ie_key': 'ThePlatform', | ||||||
|             'url': smuggle_url( |             'url': smuggle_url( | ||||||
|                 update_url_query(release_url, {'mbr': 'true', 'switch': 'http'}), |                 update_url_query(release_url, query), | ||||||
|                 {'force_smil_url': True}), |                 {'force_smil_url': True}), | ||||||
|             'display_id': display_id, |             'display_id': display_id, | ||||||
|         } |         } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Remita Amine
					Remita Amine