[adobepass] clear cache in case of pendingLogout errors

This commit is contained in:
Remita Amine 2016-08-14 21:24:33 +01:00
parent e811bcf8f8
commit 7e60ce9cf7

View File

@ -90,6 +90,9 @@ def post_form(form_page, note, data={}):
'_method': 'GET', '_method': 'GET',
'requestor_id': requestor_id, 'requestor_id': requestor_id,
}), headers=mvpd_headers) }), headers=mvpd_headers)
if '<pendingLogout' in short_authorize:
self._downloader.cache.store('mvpd', requestor_id, {})
return self._extract_mvpd_auth(url, video_id, requestor_id, resource)
authn_token = unescapeHTML(xml_text(session, 'authnToken')) authn_token = unescapeHTML(xml_text(session, 'authnToken'))
requestor_info['authn_token'] = authn_token requestor_info['authn_token'] = authn_token
self._downloader.cache.store('mvpd', requestor_id, requestor_info) self._downloader.cache.store('mvpd', requestor_id, requestor_info)
@ -105,6 +108,9 @@ def post_form(form_page, note, data={}):
'mso_id': xml_text(authn_token, 'simpleTokenMsoID'), 'mso_id': xml_text(authn_token, 'simpleTokenMsoID'),
'userMeta': '1', 'userMeta': '1',
}), headers=mvpd_headers) }), headers=mvpd_headers)
if '<pendingLogout' in authorize:
self._downloader.cache.store('mvpd', requestor_id, {})
return self._extract_mvpd_auth(url, video_id, requestor_id, resource)
authz_token = unescapeHTML(xml_text(authorize, 'authzToken')) authz_token = unescapeHTML(xml_text(authorize, 'authzToken'))
requestor_info[guid] = authz_token requestor_info[guid] = authz_token
self._downloader.cache.store('mvpd', requestor_id, requestor_info) self._downloader.cache.store('mvpd', requestor_id, requestor_info)
@ -114,7 +120,7 @@ def post_form(form_page, note, data={}):
'ap_23': xml_text(authn_token, 'simpleSamlSessionIndex'), 'ap_23': xml_text(authn_token, 'simpleSamlSessionIndex'),
}) })
return self._download_webpage( short_authorize = self._download_webpage(
self._SERVICE_PROVIDER_TEMPLATE % 'shortAuthorize', self._SERVICE_PROVIDER_TEMPLATE % 'shortAuthorize',
video_id, 'Retrieving Media Token', data=urlencode_postdata({ video_id, 'Retrieving Media Token', data=urlencode_postdata({
'authz_token': authz_token, 'authz_token': authz_token,
@ -122,3 +128,7 @@ def post_form(form_page, note, data={}):
'session_guid': xml_text(authn_token, 'simpleTokenAuthenticationGuid'), 'session_guid': xml_text(authn_token, 'simpleTokenAuthenticationGuid'),
'hashed_guid': 'false', 'hashed_guid': 'false',
}), headers=mvpd_headers) }), headers=mvpd_headers)
if '<pendingLogout' in short_authorize:
self._downloader.cache.store('mvpd', requestor_id, {})
return self._extract_mvpd_auth(url, video_id, requestor_id, resource)
return short_authorize