- Feb 12, 2020
-
-
Romain Bignon authored
ReplApplication._do_and_retry: send request_information to modules in all case, except if stdout is not a tty
-
Romain Bignon authored
-
Romain Bignon authored
-
Romain Bignon authored
-
A logger named only "iter_accounts" was not explicit enough anyway.
-
-
- Feb 11, 2020
-
-
Romain Bignon authored
-
- Feb 10, 2020
-
-
hydrargyrum authored
-
hydrargyrum authored
Specification ============= In a PSD2 law context, in order to avoid triggering 2FA SMS or app validation unexpectedly in a non-interactive sync, a mechanism was introduced. Modules will now receive a "request_information" key which can have a few values: - None if the module was started non-interactively, for example by a cronjob - {} (empty dict) if the module was started interactively, be in a user-shell, a graphical app or through an API daemon - a non-empty dict if the module was started interactively, within a PSD2 AIS context, to pass special HTTP headers authenticating the AIS, as required by the law A module can ignore this param if not needed. If it was started interactively, a module can safely raise BrowserQuestion/AppValidation and other exceptions like this, requiring user interaction to unblock weboob operation. If it was not started interactively, a module should refrain from visiting pages triggering 2FA challenges, as the user will not be able to respond them. In such a case, a module can raise NeedInteractiveFor2FA to stop operation before a 2FA challenge would be sent. An app can then leave a notification to the user telling them to operate interactively, as a challenge will pop. Technical ========= This might not be the best place to add this header though. load_backends cannot be used because we don't know about interactiveness yet. _do_and_retry is not so bad because this is where 2FA challenges are handled anyway.
-
- Feb 09, 2020
-
-
hydrargyrum authored
_do_and_retry is quite generic to handle errors like BrowserQuestion and retry after the "question" has been answered. But in some cases (like boobank's transfer command), the command code already handles the exception, and this would break them. So, let it be called by commands who desire it. "ls" is a good start, more can follow.
-
It handles: - BrowserQuestion - BrowserRedirect - DecoupledValidation
-
- Jan 30, 2020
-
-
-
When using proxies with selenium (eg: https_proxy=... boobank ...) it crashed with the error: Specified proxy type ({'ff_value': 1, 'string': 'MANUAL'}) not compatible with current setting ({'ff_value': 0, 'string': 'DIRECT'})
-
If the value of a ValueDate was None, the get_format function returned an error which caused check_valid to bug. The None case is now handled in check_valid to allow None as a default value.
-
-
rename accepted_doc_types to accepted_document_types
-
The AUTHENTICATION_MEHTODS is now set in the init. This way, it exists as a class attribute and it can use function pointer without been in the middle of the code. So I check that is is filled before trying to authenticate. I applied modifications to RedirectBrowser to take the changes. handle_polling, handle_otp and handle_sms are preserved.
-
as suggested, for the sake of understanding
-
-
-
-
The STATE_DURATION was used to create the expire date of the state. But this value, used to know how much time a session should last, is used to reset the expire date at each new dump_state. What we want is to set a fixed date from the first login to the next one. I created the `TWOFA_DURATION` variable to know how much time a session should hold. I also create the `get_expire` method to handle the expire date in it, without changing the dump_state. This way, I use `twofa_logged_date` to set an expire date that will change at each new login and not at each `dump_state`. The cases, that may generate a dirty session and block it for X days, must be handled out of the weboob session. It could be taken care of by boobank or equivalent.
-
For `clear_cookies`, `interactive`, `handle_login` and `HAS_REGULAR_LOGIN`.
-
-
KIID means "key investor information document" it has to be given to client by bank/insurance before he buy account unity for investment it contains some mandatory information like ISIN, level of risk, etc...
-
-
-
-
-
-
-
- Jan 25, 2020
-
-
hydrargyrum authored
-
-
-
- Jan 08, 2020
-
-
We decided to keep only PER and handle different kinds with specific attributes later on.
-
-
-
Currently in python 2 if we try to print a BrowserQuestion that has a unicode message, it crash with the error UnicodeEncodeError or UnicodeDecodeError. This can be fixed by using the __unicode__ from StrConv.
-
We set the default value of selenium logger to ERROR to avoid spamming logs with useless information. Also, the data we send to the browser using selenium (with send_keys) can be displayed clearly in the log, if the log level is set to DEBUG.
-
Added fill_env method to AbstractElement so that it can be overriden in pages methods. It is useful to chose how Env behaves
-