projects
/
youtube-dl
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
b207d5e
)
[adobepass] check for authz_token expiration(#10527)
author
Remita Amine
<remitamine@gmail.com>
Thu, 1 Sep 2016 21:14:40 +0000
(22:14 +0100)
committer
Remita Amine
<remitamine@gmail.com>
Thu, 1 Sep 2016 21:29:20 +0000
(22:29 +0100)
youtube_dl/extractor/adobepass.py
patch
|
blob
|
history
diff --git
a/youtube_dl/extractor/adobepass.py
b/youtube_dl/extractor/adobepass.py
index 9e3a3e3620152390bffe996a542697f6f01736af..68ec37e003b2f1b10f6c1486e93deb2a438a90ee 100644
(file)
--- a/
youtube_dl/extractor/adobepass.py
+++ b/
youtube_dl/extractor/adobepass.py
@@
-37,6
+37,10
@@
class AdobePassIE(InfoExtractor):
return self._search_regex(
'<%s>(.+?)</%s>' % (tag, tag), xml_str, tag)
return self._search_regex(
'<%s>(.+?)</%s>' % (tag, tag), xml_str, tag)
+ def is_expired(token, date_ele):
+ token_expires = unified_timestamp(re.sub(r'[_ ]GMT', '', xml_text(token, date_ele)))
+ return token_expires and token_expires <= int(time.time())
+
mvpd_headers = {
'ap_42': 'anonymous',
'ap_11': 'Linux i686',
mvpd_headers = {
'ap_42': 'anonymous',
'ap_11': 'Linux i686',
@@
-47,11
+51,8
@@
class AdobePassIE(InfoExtractor):
guid = xml_text(resource, 'guid')
requestor_info = self._downloader.cache.load('mvpd', requestor_id) or {}
authn_token = requestor_info.get('authn_token')
guid = xml_text(resource, 'guid')
requestor_info = self._downloader.cache.load('mvpd', requestor_id) or {}
authn_token = requestor_info.get('authn_token')
- if authn_token:
- 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 authn_token and is_expired(authn_token, 'simpleTokenExpires'):
+ authn_token = None
if not authn_token:
# TODO add support for other TV Providers
mso_id = 'DTV'
if not authn_token:
# TODO add support for other TV Providers
mso_id = 'DTV'
@@
-98,6
+99,8
@@
class AdobePassIE(InfoExtractor):
self._downloader.cache.store('mvpd', requestor_id, requestor_info)
authz_token = requestor_info.get(guid)
self._downloader.cache.store('mvpd', requestor_id, requestor_info)
authz_token = requestor_info.get(guid)
+ if authz_token and is_expired(authz_token, 'simpleTokenTTL'):
+ authz_token = None
if not authz_token:
authorize = self._download_webpage(
self._SERVICE_PROVIDER_TEMPLATE % 'authorize', video_id,
if not authz_token:
authorize = self._download_webpage(
self._SERVICE_PROVIDER_TEMPLATE % 'authorize', video_id,