- Aug 26, 2020
-
-
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.
-
- Jun 05, 2020
-
-
hydrargyrum authored
When no HTTP repository, there might be no version number for modules, so the value is None, which can't be compared to anything else.
-
- Jun 03, 2020
-
-
On some modules, iter_market_orders requires a request for each item (to get the details for example) so it's better to set a default count for display instead for systematically displaying all items.
-
-
-
This method is only used for PSD2 purpose. Confirm transfer after multiple SCA from the Emitter. Return the transfer with the new status
-
In transfer state, use a generic "Cancelled" and use cancelled_exception for more information about the transfer cancelled reason
-
The precision of user cancelled or bank cancelled transfer is now in Trasnfer.canceled_exception. This new attribute is an TransferError excepetion in order to have the error code and error description
-
- May 22, 2020
-
-
We mimic weboob-debug command which exposes "backend" and "browser" variables. The "debug" command of REPL applications will expose them if there's only one backend loaded.
-
On some websites we observe 3 dates: validity_date, creation date and execution date. The 'date' attribute is set to the creation_date since all market orders have one, whereas some market orders (that are still ongoing, or that have been refused or cancelled) have no execution_date, and the date is often used to sort the orders chronologically.
-
- May 08, 2020
-
-
hydrargyrum authored
-
hydrargyrum authored
-
hydrargyrum authored
-
- May 07, 2020
-
-
Some Market Orders have no indicated quantity and have a total amount instead.
-
Sometimes there is not information on the quantity of stocks that has been bought or sold, only the total amount that has been bought or sold.
-
NSS uses a certificate database that is empty by default and not updated automatically when new CAs are added in /etc/ssl/certs. So we are forced to recreate the database from scratch and since it takes about 1 minute, due to "certutil" command being slow, we can't do it everytime. By implementing an update operation that only adds new certificates and removes obsolete ones, we run certutil much less, so the update is significantly faster. In order to detect changes to certificates, and because NSS databases and PEM data are very shitty to introspect, we will base ourselves mostly on NSS cert "nicknames". As /etc/ssl/certs contains a lot of duplicates, we will rely on PEM data hashing instead instead of filenames to detect different certificates, and they will be the nicknames. Simplified, an update operation goes like this: - list all db cert hashes (the nicknames) - hash all system certs - add in db all system certs for which the nickname was missing - remove from db the nicknames if the hash wasn't in system list For migrating to new nicknames format, basically we will have to purge the db and recreate it.
-
Prevent a ColoredFormatter.format crash processing record with mix of unicode and bytes values. If UnicodeDecodeError occured, try to convert bytes record components into unicode.
-