- 28 Oct, 2020 40 commits
-
-
Benjamin Bouvier authored
Signed-off-by:
Benjamin Bouvier <public@benj.me>
-
Benjamin Bouvier authored
Signed-off-by:
Benjamin Bouvier <public@benj.me>
-
Vincent A authored
-
Quentin Defenouillere authored
-
Quentin Defenouillere authored
-
Vincent Ardisson authored
-
Quentin Defenouillere authored
-
Vincent Ardisson authored
They should replace naked now() calls in modules because those don't fill the tzinfo attribute and so information is incomplete.
-
Vincent Ardisson authored
-
Quentin Defenouillere authored
The self.config['website'].get() are not factorized in a get_website() method so we can overload it in abstract modules.
-
Quentin Defenouillere authored
-
Maxime Gasselin authored
Precedent urls work for sms but not for appvalidation.
-
Vincent Ardisson authored
HAR is: - more exploitable, as it's JSON - more interoperable, as it's pseudo-standard Drawback is lack of easy access to responses without tools, but tools/har-to-old.py is here to help.
-
Julien Montagnat authored
-
Christophe Francois authored
We used to go to investment details using the URL attached to each invest. All invests now have the same URL that redirects to the accounts list. Now we must use a form to go to details. Every invest uses the same form but with a different submit input, so we only fetch the form once and we add the right input as we submit it.
-
thibault douge authored
-
Florent Viard authored
the old web interface
-
Florent Viard authored
Boursorama recently changed the new transfer pages on their website with a multi steps assitant. Add support to this new assistant to fix transfers and emitters and recipients listing. To be noted, the new transfer flow is now splitted into 2 different assistants. One for immediates transfers and one for scheduled transfers.
-
Benjamin Tampigny authored
-
Maxime Gasselin authored
Some login with nuser have a new format expected in authorize url. Some clues are given in JS file to determinate if we must fill login/nuser with 0 or seperate by a space (depending on the login length).
-
Guillaume Risbourg authored
When an account, we try to get the recipients of, cannot emit transfers the request to list the emitters sometimes return an error 403.
-
Guillaume Risbourg authored
Some users just can't access the page, no need to raise the error 403 for that.
-
Augustin Bouverot authored
We can sometimes get a "request rejection" as a response from myedenred. We now catch them to retry the request.
-
Maxime Gasselin authored
The value is the same than par website. Without that we get nok after sending otp and user cannot validate the sca.
-
thibault douge authored
-
Augustin Bouverot authored
In the TwoFactorBrowser, we couldn't chain authentication method since the `ValueTransient` were not cleared before leaving the handling method. Example: ``` self.AUTHENTICATION_METHOD = { 'sms_otp': self.handle_sms_otp, 'email': self.handle_email, } def init_login(self): raise BrowserQuestion(Value('sms_otp')) def handle_sms_otp(self): raise BrowserQuestion(Value('email')) def handle_email(self): self.logged = True ``` This example would do an infinite loop while requesting the email, because the `sms_otp` value was not cleared, and the authentication method handler would go for the first `ValueTransient` that is not None, in that case `sms_otp` We can now raise a BrowserInteraction exception from an authentication method that will be handled by another authentication method.
-
Julien Montagnat authored
after few wrongpass, the website displays a pop-up asking the user to change his password
-
Julien Montagnat authored
-
Julien Montagnat authored
-
Damien Mat authored
Done with commit 4aeb7016c1e1c851f45a7a00d9315a28b576b1b0: No message is provided by the login API in cases of ActionNeeded. In order to help out clients I controlled the meaning of those, by connecting in a navigator and collecting the JS-forged messages. A logger and 2 types of messages were added. This commit: One final message is now added. Logger is modifed to return only bad login cases
-
Jerome Berthier authored
When using a JsonPage some fields may be None: { 'usage': null } MapIn(Dict('usage', default=''), USAGE_TYPES, NotAvailable)
-
Dorian Roly authored
-
Maxime Gasselin authored
there is no /async and /banque in these urls.
-
Pierre Nardozi authored
sometimes the site sends us a server error when downloading the document. it is necessary to try again.
-
Vincent Ardisson authored
-
Vincent Ardisson authored
But it's pep8 rule keeps application-imports in the same group as relative-imports. Changing it is not a matter of configuration but defining our own style, which is tedious as it would require a setuptools entrypoint just for that, so we inject manually the style.
-
Damien Mat authored
Found necessary for, and tested with, CIC Banque Privee
-
Damien Mat authored
Found necessary for, and tested with, CIC Banque Privee
-
Augustin Bouverot authored
Tells the end user that his account is locked so he can do something about it.
-
Augustin Bouverot authored
Previously, the xpath set to fetch the error message was also taking some non visible error message from the browser, useless for the user
-