mirror of
				https://github.com/ytdl-org/youtube-dl.git
				synced 2025-10-29 09:26:20 -07:00 
			
		
		
		
	[theplatform] use _get_netrc_login_info and fix session expiration check(#10345)
This commit is contained in:
		| @@ -218,15 +218,16 @@ class ThePlatformIE(ThePlatformBaseIE): | ||||
|         requestor_info = self._downloader.cache.load('mvpd', requestor_id) or {} | ||||
|         authn_token = requestor_info.get('authn_token') | ||||
|         if authn_token: | ||||
|             token_expires = unified_timestamp(xml_text(authn_token, 'simpleTokenExpires').replace('_GMT', '')) | ||||
|             if token_expires and token_expires >= time.time(): | ||||
|             token_expires = unified_timestamp(re.sub(r'[_ ]GMT', '', xml_text(authn_token, 'simpleTokenExpires'))) | ||||
|             if token_expires and token_expires <= int(time.time()): | ||||
|                 authn_token = None | ||||
|                 requestor_info = {} | ||||
|         if not authn_token: | ||||
|             # TODO add support for other TV Providers | ||||
|             mso_id = 'DTV' | ||||
|             login_info = netrc.netrc().authenticators(mso_id) | ||||
|             if not login_info: | ||||
|                 return None | ||||
|             username, password = self._get_netrc_login_info(mso_id) | ||||
|             if not username or not password: | ||||
|                 return '' | ||||
|  | ||||
|             def post_form(form_page, note, data={}): | ||||
|                 post_url = self._html_search_regex(r'<form[^>]+action=(["\'])(?P<url>.+?)\1', form_page, 'post url', group='url') | ||||
| @@ -248,8 +249,8 @@ class ThePlatformIE(ThePlatformBaseIE): | ||||
|             provider_login_page = post_form( | ||||
|                 provider_redirect_page, 'Downloading Provider Login Page') | ||||
|             mvpd_confirm_page = post_form(provider_login_page, 'Logging in', { | ||||
|                 'username': login_info[0], | ||||
|                 'password': login_info[2], | ||||
|                 'username': username, | ||||
|                 'password': password, | ||||
|             }) | ||||
|             post_form(mvpd_confirm_page, 'Confirming Login') | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user