- Oct 07, 2020
-
-
These methods were deprecated in stdlib xml.etree and also in lxml, and are ultimately removed in python 3.9.
-
-
- Sep 23, 2020
-
-
For binary response, HAR allows base64 encoding so data is untouched. But no such thing exists for binary posted data. Some generators write JSON with the binary posted data as if it were latin-1 encoded text. But when reading, what can we do? Think it's binary to encode back to latin-1? Or think it's text? HAR gives no answer, so we add a non-standard "x-binary" key to indicate "text" is actually binary disguised with latin-1.
-
This is a better trick than manually choping the BOM.
-
- Sep 09, 2020
-
-
PFMs need to keep track of accounts, which is done using various generic methods. However, complicated cases may occur on some sites, where no generic method works, without harming other modules. A new capability method is introduced to allow module-specific diff behavior. Essentially, a diff consists in: - matching accounts, pairs of new/old objects - new accounts, that were not seen before and are known to be new - obsolete accounts, that are known to have disappeared - unknown accounts, which could simply not be matched, but may be mapped by another method or manually by a user
-
Add theses 2 new attributes in order to be more explicite about transfer behavior: * can_initiate_transfer_to_untrusted_beneficiary: the module can do transfer to untrusted beneficiary, for example: when module can't add new beneficiary without doing a transfer like n26 or when module can do transfer to a beneficiary not listed in `iter_transfer_recipients` like for PSD2 modules * can_initiate_transfer_without_emitter: the module can do transfer without giving it the emitter, for example: there is only, and will be only, one account like wallet or when the module can initiate transfer without emitter and the emitter is chosen afterwards like for PSD2 modules
-
ValueDate returned date strings instead of date objects. Use strings only for serialization/deserialization, but otherwise use a real date object. Also, the implementation was inefficient as it reparsed the same string multiple times.
-
It's not an optional or costly dependency.
-
Though a BOM makes no sense in UTF-8, some sites insisting on sending one with JSON data... Drop it then, as standard "json" module fails when it is present anyway.
-
This feature does not modify the API of BrowserSelenium. To use a remote driver, a config Value 'remote_driver_url' must be set. If this value is not set the previous behavior is used, instantiating a local web driver. The remote driver capabilites are built according to the module configuration.
-
When switching to regular imports, ItemElementFromAbstractPage will become obsolete. However, they will not be removed immediately, but they will be reimplemented to be compatible with the new system. But the reimplementation works at import-time, not at exec-time, and it's not possible to access params defined in outer scopes at import-time. So, we make sure the attributes are explicitly defined, not implicitly.
-
-
-
-
- Aug 31, 2020
-
-
hydrargyrum authored
It makes sense to have it in bank caps too.
-
- Aug 26, 2020
-
-
This new type will be used for all investment in real state such as SCPI, OPCI, SCI...
-
Introduce: - base: for CapBank, Account, Transaction and standard classes - rate: for CapCurrencyRate - transfer: for CapTransfer and related classes - wealth: for CapBankWealth and related classes To keep compatibility with existing code using base imports, bank/__init__.py will import symbols from the subfiles.
-
When enabled, the documents is pre-processed so all links of the page are made absolute using the <base> href (if present) or the page URL. AbsoluteLink becomes pointless when this option is enabled. It's not enabled by default as it would break some existing XPaths like: starts-with(@HRef, "/foo")
-
-
If we try to create an AbstractPage of another one, the class inherited will be AbstractPage, in consequence Page. Therefore we need to recursively handle the inheritance.
-
hydrargyrum authored
Seriously: documentation, docstrings.
-
- Aug 07, 2020
-
-
-
This reverts commit fd0ebef2ca7ea013cf1cc620911b59836d2adee0.
-
-
-
-
Market orders on a market account can be executed "Comptant" or "SRD", meaning that they are speculated and not actually bought right away. This does not apply to PEA accounts where market orders are always "Comptant".
-
- Jul 12, 2020
-
-
Romain Bignon authored
-
- Jul 02, 2020
-
-
ntome authored
pickle may be unsafe for loading data. All we want is a cookie jar, we can just serialize its cookies, not necessarily the whole jar with its type and policy. Old format is base64(compress(pickle(jar))). New format is base64(compress(json(jar))) where JSON conversion is on the list of cookies (taking name, value, domain, path, secure (https) and expires). dump_state will now save using the new format while load_state supports both new and old format. This allows compatibility for some time, then later old format support in load_state will be dropped too.
-
ntome authored
-
ntome authored
HAR file was rewritten on every request, because JSON libs don't allow inserting data in an existing JSON without rewriting the whole file. However, if we put request/response entries at the end of the HAR data, only a fixed suffix exists after the entries. Then we can seek near the file end to a computed position, write the new entry (which overwrites terminators), and we can rewrite the overwritten terminators right after. Not only can we write only the new data, but we do not need to keep track of the shifted bytes. If the HAR wasn't written with the exact same options, we won't seek accurately though.
-
- Jun 17, 2020
-
-
hydrargyrum authored
This reverts commit 30082774.
-
Due to inheritance order, Exception.__str__ was overiding StrConv.__str__ for BrowserQuestion in python3. the exception message was then an helpless: "<weboob.tools.value.Value object at 0x7f4f8ff92d30>"
-
Should be improved in the future by not filtering URL and verb and replicating transfer behavior.
-
-
-
HAR is used by many tools though not standardized. Some fields can't be filled like timings or pages.
-
-
Passing data='' or json={} to browser methods like open() or build_request() used to make a GET, but this is incorrect. We can simply check the non-None of one of those params. If a Request parameter is used though, it's more implicit, because we cannot guess what was the intention, we can't easily distinguish the default value from an intentionally empty value Request().data == [] Request().json is None
-
It's purely HTML, no reason to put it in "standard" filters.
-