Commit 7273e8a7 authored by Axel Pelerin's avatar Axel Pelerin Committed by Vincent A

[caissedepargne] Raise ActionNeeded for error 401 on loans page

While loading to go to a loan's detail, an error 401 can appear saying:

"Error 401: La situation actuelle de votre dossier ne vous permet pas
d?accéder à cette fonctionnalité. Nous vous invitons à contacter votre
Centre de relation Clientèle au : n° {0}."

I can't find a way to pass this error to have the details, so I raise
an ActionNeeded. There is no way to get the error message other than
hardcode it in the raise.

Closes: 14455@zendesk 46426@sibi
parent 4a14b44f
Pipeline #2962 passed with stages
in 15 minutes and 12 seconds
......@@ -51,6 +51,7 @@ from weboob.exceptions import (
NoAccountsException, BrowserUnavailable, ActionNeeded, BrowserIncorrectPassword,
)
from weboob.browser.filters.json import Dict
from weboob.browser.exceptions import ClientError
def MyDecimal(*args, **kwargs):
......@@ -661,7 +662,13 @@ class IndexPage(LoggedPage, HTMLPage):
if 'JSESSIONID' in self.browser.session.cookies:
# Need to delete this to access the consumer loans space (a new one will be created)
del self.browser.session.cookies['JSESSIONID']
self.go_loans_conso(tr)
try:
self.go_loans_conso(tr)
except ClientError as e:
if e.response.status_code == 401:
raise ActionNeeded('La situation actuelle de votre dossier ne vous permet pas d\'accéder à cette fonctionnalité. '
'Nous vous invitons à contacter votre Centre de relation Clientèle pour accéder à votre prêt.')
raise
d = self.browser.loans_conso()
if d:
account.total_amount = float_to_decimal(d['contrat']['creditMaxAutorise'])
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment