- Feb 12, 2021
-
-
Here are exemples of labels that were returned for coming transactions: data-titrepopinv2="Détail d'une opération" >PREL D data-titrepopinv2="Détail d'une opération" >FR6720 data-titrepopinv2="Détail d'une opération" >200410 It should have been: PREL DE MATMUT ROUEN FR672045353464765875867865556435 200410414141414141414343 The previous code was not working well because there are two "<a>" elements, one at the root and one inside a "<noscript>" element. Sadly the one inside the noscript element is kind of broken: <a class="popinV3" href="../../comptesCommun/detailoperation/operation-detail_operation.ea?idxOperation=0&typeOperation=OAV" target="_blank"> data-titrepopinv2="Détail d\'une opération" >PREL DE MATMUT ROUEN The a element is incorrectly closed after "blank" and the real end symbol is escaped. To be noted: this way to extract the transaction is only related to coming transactions. For normal history, the line content is extracted by the previous part of the code, and is based on a span element and no "noscript".
-
Json fields can be `null`. In that case, Dict returns None, which makes CleanText crash if it's used on the result. Instead of handling the case each time this happens, we return the default value (or raise an error if there is none).
-
-
Erase this bad practice. Moreover with a low STATE_DURATION, keep session headers has no interest anymore.
-
2FA is now automatically sent when it is needed. Only TPP can have access to consent url to check if 2FA is required.
-
The precedent params still work for the majority of the users but for others these changes are mandatory.
-
These accounts are not accessible and navigation is broken here. The solution here is to do login again and skip them.
-
-
-
-
Final set of hashes for the last serie of VerifCodePage.
-
There's a new insurance '/assurance/habitation' that was not filtered out in iter_accounts. These insurances are all located under this route 'assurance/', so we can use this as a condition.
-
While fetching accounts, we can get disconnected. The redirect URL was not handled, so we would never try to relogin to the website.
-
Finding ownership for accounts only makes sense if there are ownerless accounts. I added a condition to make sure we are not sending the request to find potential owners if there are no ownerless accounts.
-
Caching accounts is a bad idea, it wasn't abused in the module so this rework involves only some minor changes.
-
Since we use `from __future__ import unicode_literals`, we don't need to specify the prefix for unicode strings anymore.
-
Using Async isn't considered best practice, this commit replace Async logic by fill_account
-
Some accounts that should have iban don't. Instead of crashing the entire backend we just skip the iban for this account. Didn't find a way to detect this case before the the website send a 404
-
and reindent some lines
-
-
This new page has the quantity.
-
-
When reloading state and requesting the last page visited, when that page is one of the one in json_pages.py, we are usally logged out. This is handled in AccountJsonPage with a special Logged property. But it needs to be as well in the other pages. We do that by introducing a LoggedDetectionMixin, inherited by a SGPEJsonPage, common to all subsequent pages.
-
-
Previous commit revealed new 2FA messages. that where silenced by an ActionNeed. Here it is a Certicode Plus auth method that actually needed to be triggered.
-
Previous commit revealed new 2FA messages. that where silenced by an ActionNeed. Here it is a Certicode auth method that actually needed to be triggered.
-
To better avoid problems when changing things not common to SGEntreprise and SGProfessional, inheritance scheme is changed. A common SGPEBrowser still exists. It takes in common login steps from SocieteGeneraleLogin, and common Pro/Ent navigation. But SGProfessionalBrowser and SGEnterpriseBrowser are now each inheriting separately from SGPEBrowser. It bears importance for the few differences in 2FA handling for Ent, where it is systematic, compared to Pro. Also, dead code is deleted (browser and pages' side). And a few commenting is added.
-
The unitvalue contains a valuation hour or date, so the CleanDecimal didn't work. The regex for the unitprice was bad and didn't work with thousands (it's the French format so they're separated by a space which didn't match the regex).
-
The commit 84c940820cbe55ed7fb9a70c6341290101a1f12c changes the list of arguments passed when we initialize DispobankBrowser without making the corresponding changes in DispobankBrowser.__init__().
-
I have managed to find a pro connection with a wealth account (a compte titre). Adapt the code for the new website to fetch investments / history of wealth accounts. Follows the rework of LBP pro website: 97968cde1b646cb05f97ae33489440c5979b9256
-
Related to rework of LBP pro website: 97968cde1b646cb05f97ae33489440c5979b9256
-
Related to rework of LBP pro website: 97968cde1b646cb05f97ae33489440c5979b9256. Login was fixed in a previous commit so I can now access more connections (and especially connections with savings accounts) more easily.
-
-
For saving accounts (livret), the following entries were not recognized by the transaction pattern matching: INTERETS ACQUIS DECOMPTE D'INTERETS INTERETS BRUTS ACQUIS DECOMPTE D'INTERETS
-
-
My accounts had the ownership incorrectly reported as "Attorney" instead of "Owner". The root cause is that the name fields in the profile page are all in uppercase but in the account name they are capitalized.
-
2FA are skippable for some users. This is properly handled when 'no2fa' message is detected. But in this new case, since message was not acccounted for, 'no2fa' status was not attributed, and so skipping URL wasn't even searched for. Now, new message is added. Plus, if 'no2fa' is not attributed, in last resort, we check if a skipping URL is present. That way we can detect new cases instead of raising a wrong ActionNeed to user.
-
before the xpath was on a <td>, now it's a <p> tag
-
This id is needed by TPP for matching accounts.
-
This is done to help filtering between actual and uncertain wrongpass.
-