- Nov 17, 2020
-
-
These accounts were mistakenly typed as checking accounts.
-
-
-
The LCLBrowser is now a TwoFactorBrowser, the initialization is different from other LCL browsers ("ent")
-
It is not Date Val but Date Valeur now
-
-
- Oct 28, 2020
-
-
hydrargyrum authored
-
-
-
-
-
They should replace naked now() calls in modules because those don't fill the tzinfo attribute and so information is incomplete.
-
-
The self.config['website'].get() are not factorized in a get_website() method so we can overload it in abstract modules.
-
-
Precedent urls work for sms but not for appvalidation.
-
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.
-
-
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.
-
-
the old web interface
-
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.
-
-
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).
-
When an account, we try to get the recipients of, cannot emit transfers the request to list the emitters sometimes return an error 403.
-
Some users just can't access the page, no need to raise the error 403 for that.
-
We can sometimes get a "request rejection" as a response from myedenred. We now catch them to retry the request.
-
The value is the same than par website. Without that we get nok after sending otp and user cannot validate the sca.
-
-
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.
-
after few wrongpass, the website displays a pop-up asking the user to change his password
-
-
-
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
-
When using a JsonPage some fields may be None: { 'usage': null } MapIn(Dict('usage', default=''), USAGE_TYPES, NotAvailable)
-
-
there is no /async and /banque in these urls.
-
sometimes the site sends us a server error when downloading the document. it is necessary to try again.
-
-
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.
-