forked from minhngoc25a/youtube-dl
[theplatform] use _get_netrc_login_info and fix session expiration check(#10345)
This commit is contained in:
parent
2118fdd1a9
commit
9771b1f901
|
@ -218,15 +218,16 @@ class ThePlatformIE(ThePlatformBaseIE):
|
||||||
requestor_info = self._downloader.cache.load('mvpd', requestor_id) or {}
|
requestor_info = self._downloader.cache.load('mvpd', requestor_id) or {}
|
||||||
authn_token = requestor_info.get('authn_token')
|
authn_token = requestor_info.get('authn_token')
|
||||||
if authn_token:
|
if authn_token:
|
||||||
token_expires = unified_timestamp(xml_text(authn_token, 'simpleTokenExpires').replace('_GMT', ''))
|
token_expires = unified_timestamp(re.sub(r'[_ ]GMT', '', xml_text(authn_token, 'simpleTokenExpires')))
|
||||||
if token_expires and token_expires >= time.time():
|
if token_expires and token_expires <= int(time.time()):
|
||||||
authn_token = None
|
authn_token = None
|
||||||
|
requestor_info = {}
|
||||||
if not authn_token:
|
if not authn_token:
|
||||||
# TODO add support for other TV Providers
|
# TODO add support for other TV Providers
|
||||||
mso_id = 'DTV'
|
mso_id = 'DTV'
|
||||||
login_info = netrc.netrc().authenticators(mso_id)
|
username, password = self._get_netrc_login_info(mso_id)
|
||||||
if not login_info:
|
if not username or not password:
|
||||||
return None
|
return ''
|
||||||
|
|
||||||
def post_form(form_page, note, data={}):
|
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')
|
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_login_page = post_form(
|
||||||
provider_redirect_page, 'Downloading Provider Login Page')
|
provider_redirect_page, 'Downloading Provider Login Page')
|
||||||
mvpd_confirm_page = post_form(provider_login_page, 'Logging in', {
|
mvpd_confirm_page = post_form(provider_login_page, 'Logging in', {
|
||||||
'username': login_info[0],
|
'username': username,
|
||||||
'password': login_info[2],
|
'password': password,
|
||||||
})
|
})
|
||||||
post_form(mvpd_confirm_page, 'Confirming Login')
|
post_form(mvpd_confirm_page, 'Confirming Login')
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue