woob issueshttps://gitlab.com/woob/woob/-/issues2024-02-23T20:20:14Zhttps://gitlab.com/woob/woob/-/issues/654SSL Cert error with Capeasi (bank)2024-02-23T20:20:14ZJohn ValjeanSSL Cert error with Capeasi (bank)### With which module do you encounter problems?
Bank
### Describe the problem you encounter
Unable to get balances from Capeasi / error message
### Paste here the stacktrace or error message you observe
```plaintext
2023-08-23 18:0...### With which module do you encounter problems?
Bank
### Describe the problem you encounter
Unable to get balances from Capeasi / error message
### Paste here the stacktrace or error message you observe
```plaintext
2023-08-23 18:01:23,191:WARNING:urllib3.connectionpool:3.5:connectionpool.py:812:urlopen Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1002)'))': /portal/salarie-axa/authentification
2023-08-23 18:01:23,342:WARNING:urllib3.connectionpool:3.5:connectionpool.py:812:urlopen Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1002)'))': /portal/salarie-axa/authentification
Bug(capeasi): HTTPSConnectionPool(host='www.capeasi.com', port=443): Max retries exceeded with url: /portal/salarie-axa/authentification (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1002)')))
```
### What are the steps to reproduce the problem?
woob bank list
Other banks work just fine (Boursorama etc.)
### What woob version are you using?
Output of `woob config --version` command:
```plaintext
woob config v3.5 Copyright(C) 2010-2023 Christophe Benz, Romain Bignon
```
### What module version are you using?
Output of `woob config info MODULE_NAME` command:
```plaintext
.------------------------------------------------------------------------------.
| Module capeasi |
+-----------------.------------------------------------------------------------'
| Version | 202306041153
| Maintainer | Edouard Lambert <elambert@budget-insight.com>
| License | LGPLv3+
| Description | AXA Épargne Salariale
| Capabilities | CapCollection, CapDocument, CapProfile, CapBankWealth, CapCredentialsCheck, CapBank
| Installed | yes
| Location | https://updates.weboob.org/3/main/capeasi.tar.gz
| |
| Configuration | login: Identifiant (default: )
| | password: Mot de passe (default: )
| | otp: Code unique temporaire (default: )
'-----------------'
```
### How did you install woob?
Archlinux package via Pacman
### Additional info you'd like to mentionhttps://gitlab.com/woob/woob/-/issues/11Provide AppStream data2024-02-23T17:02:38ZWoob ImportProvide AppStream dataEach desktop application should provide an appdata file in order to be present on Software Centers and be able to give more details.
Here is a link to the specification:
https://www.freedesktop.org/software/appstream/docs/sect-Metadata-A...Each desktop application should provide an appdata file in order to be present on Software Centers and be able to give more details.
Here is a link to the specification:
https://www.freedesktop.org/software/appstream/docs/sect-Metadata-Application.html
For some apps as QHaveDate, I strongly recommend you to provide additional data to the appdata file preventing kinds to be able to find such apps, here is the Open Age Ratings Service website allowing to add such information with a simple copy/paste:
https://odrs.gnome.org/oars
Thank you for your commitment.https://gitlab.com/woob/woob/-/issues/8[Wish-list] Privacy issue2024-02-23T17:02:38ZWoob Import[Wish-list] Privacy issueThis is rather a wish-list issue... but **privacy** is an important topic!
This could also be a *documentation issue* because I found nowhere how to get the behaviour I expect... it might still be there... undocumented.
&nbsp;
It seem...This is rather a wish-list issue... but **privacy** is an important topic!
This could also be a *documentation issue* because I found nowhere how to get the behaviour I expect... it might still be there... undocumented.
It seems that the behaviour of boobank (and probably other modules because what I describe comes from the core as far as I could see in the code) is to try to update the local repository if something goes wrong with connecting to a bank.
That is a feature a "Jdownloader user" might find desirable, not to bother trying to figure out what went wrong. Indeed if that is due to a change to a scrapped website, updating the local repository can automagically fix the issue.
But the way it is done and the feature itself is questionable for other use cases.
**Issue 1**: this is a privacy issue ("call home")!
I am using that inside a Linux script to prepare a nice conkyrc. That auto-update with no option to remove it is a "call home" and that is breaching privacy, especially that the feature is automatic and with no (simple) way to stop it.
*Proposition:* the "privacy conscious" way would be:
* do NOT auto update by default (you can still suggest it with a message)
* add a flag to the command line so that those wanting the auto-update (it is a nice feature) will still have it should they opt-in. Could be like: `boobank --auto-update`
* obviously you can still run without the flag and manually do a `weboob-config update` when you think if might help fix a connection issue situation.
*Workaround*
Since I don't want (yet) to fiddle with the code... especially the core, we read the code (with a colleague) and figured out a simple workaround (seems to work so far).
When there is an error detected, the way to make the core auto-update seems to be to delete a file in ~/.local/share/weboob/repository
There is a single file there (currently: 00-http___updates_weboob_org_1_2_main_) that seem to hold the list of modules. The workaround is then to prevent weboob from deleting this file. This is simply done with:
`chmod 555 ~/.local/share/weboob/repository`
**Issue 2**: the way the feature is done breaks things!
We have a test machine that is (almost) completely isolated from the local network to avoid unwanted interactions. This machine does not even have internet access by default (due to the strict firewall isolation), unless you plug in a phone with tethering.
*Steps to reproduce:* to reproduce the bug, do the following steps:
1. Configure boobank with any backend
2. Disconnect all interfaces that have internet access on your local machine
3. launch `boobank`
4. input the command `list` (enter any ID/Password if requested, since we have no internet that does not matter it will fail anyway!)
5. see that you have exceptions followed by a stacktrace (indeed when you have no internet connection, even the DNS fail)
6. **Remark**: this exception could be handled more gracefully, instead of spitting out a stracktrace... but that is not the point of this bug report!
7. Now launch boobank again: since the repository configuration file has been deleted it will refuse to start, although everything is still there and working fine!
So, if at some point you happen to have no connection to the internet (intentionally as above or because your connection is really down) weboob auto-destroys itself...
Indeed, since there is the non-removable-auto-update feature, the next time you run it with a working internet connection it will auto-repare itself. But hey, isn't that useless bandwith and I/O, poor performance, whereas letting the user in charge of what he wants to do would have been better?
**Final thoughts:** I am not yet attaching any proposed code to that (I'm not currently a world class python expert anyway!)... I will just use my chmod 555 workaround for the moment!
Before jumping to code, you might want to discuss:
* if you care more about privacy/letting the user in control, than about things happening automatically
* if you decide to give more control, decide how that should be conveyed to weboob: options on command line, environment variables, core configuration file, all of them, other solution, etc...
* possibly also decide to catch more gracefully some network error exceptions.
* there are already some options available, as `boobank --help` shows, so adding --auto-update (opt in) should respect how things work today.https://gitlab.com/woob/woob/-/issues/678bank - amundi (ee) : Site requires solving a CAPTCHA but no CapCaptchaSolver ...2024-02-21T13:28:50ZYoann Cbank - amundi (ee) : Site requires solving a CAPTCHA but no CapCaptchaSolver backends were configured### With which module do you encounter problems?
bank > amundi
### Describe the problem you encounter
command "list" does not work
### Paste here the stacktrace or error message you observe
```
Loaded backends: amundi
bank> list
...### With which module do you encounter problems?
bank > amundi
### Describe the problem you encounter
command "list" does not work
### Paste here the stacktrace or error message you observe
```
Loaded backends: amundi
bank> list
Account Balance Coming
------------------------------------------+----------+----------
[amundi] Identifiant (hidden input):
[amundi] Mot de passe (hidden input):
Error(amundi): Site requires solving a CAPTCHA but no CapCaptchaSolver backends were configured
```
### What are the steps to reproduce the problem?
```
$woob bank
bank> list
```
### What woob version are you using?
v3.6
Output of `woob config --version` command:
```
woob config --version
=== [ 0%] Getting https://updates.woob.tech/3/main/
The repository https://updates.woob.tech/3/main/ isn't trusted yet.
Fingerprint of keyring is b5fc136c2d500b8483696a0ee722865842a4cc45
Are you sure you want to continue? (Y/n): *** ASSUMING YES ***
=== [ 0%] Keyring version 202103171007, checksum b5fc136c2d500b8483696a0ee722865842a4cc45
=== [100%] All modules are up-to-date.
Woob config v3.6 Copyright(C) 2010-2024 Christophe Benz, Romain Bignon
```
### What module version are you using?
Output of `woob config info MODULE_NAME` command:
```
woob config info amundi
.------------------------------------------------------------------------------.
| Module amundi |
+-----------------.------------------------------------------------------------'
| Version | 202310191405
| Maintainer | James GALT <james.galt.bi@gmail.com>
| License | LGPLv3+
| Description | Amundi
| Capabilities | CapBankWealth, CapBank, CapCredentialsCheck, CapCollection
| Installed | no
| Location | https://updates.woob.tech/3/main/amundi.tar.gz
'-----------------'
```
### How did you install woob?
docker kresus image (v0.20.1)Ludovic LANGELudovic LANGEhttps://gitlab.com/woob/woob/-/issues/404[boobank][creditmutuel] use 2FA in non interactive mode2024-02-21T13:24:21ZWoob Import[boobank][creditmutuel] use 2FA in non interactive modeWe should be able to use the module in non interactive mode, even with the TwoFactor Authentication, as before.We should be able to use the module in non interactive mode, even with the TwoFactor Authentication, as before.https://gitlab.com/woob/woob/-/issues/674[bank][hsbc] migration to ccf2024-02-21T02:50:46ZsinopsysHK[bank][hsbc] migration to ccfHello,
With the closing of HSBC France and the take over from CCF, web access to hsbc french web site is now turned off.
Unfortunately it seems that CCF is not already a supported bank from woob :disappointed:
Is there anyone working ...Hello,
With the closing of HSBC France and the take over from CCF, web access to hsbc french web site is now turned off.
Unfortunately it seems that CCF is not already a supported bank from woob :disappointed:
Is there anyone working on a new ccf module or planning to?
Thank you in advance for your feedback.
Eric.https://gitlab.com/woob/woob/-/issues/672[ImpotGouv] Not working anymore2024-02-20T21:07:01ZLirone[ImpotGouv] Not working anymoreHi,
I tried to run the module ImpotGouvFrPar but it's not working anymore.
I get this error
```
Traceback (most recent call last):
File "main.py", line 44, in <module>
first_subscription = next(backend.iter_subscription())
File...Hi,
I tried to run the module ImpotGouvFrPar but it's not working anymore.
I get this error
```
Traceback (most recent call last):
File "main.py", line 44, in <module>
first_subscription = next(backend.iter_subscription())
File "/Users/Documents/dev/woob/modules/impotsgouvfrpar/module.py", line 71, in iter_subscription
return self.browser.iter_subscription()
File "/Users/Documents/dev/woob/browser/browsers.py", line 1122, in inner
browser.do_login()
File "/Users/Documents/dev/woob/modules/impotsgouvfrpar/browser.py", line 106, in do_login
if not self.page.logged:
AttributeError: 'NoneType' object has no attribute 'logged'
```
It seems that the page got None. It worked before.
Any insights ?
thank youLudovic LANGELudovic LANGEhttps://gitlab.com/woob/woob/-/issues/630New woob module request: add Bankin support ("bank" type module)2024-02-20T20:57:31ZStéphane KleinNew woob module request: add Bankin support ("bank" type module)New woob module request: add [Bankin](https://bankin.com) support ("bank" type module).
I would like this module to be able to fetch data from Lydia (see also #413).New woob module request: add [Bankin](https://bankin.com) support ("bank" type module).
I would like this module to be able to fetch data from Lydia (see also #413).https://gitlab.com/woob/woob/-/issues/636Update a css properties before iterating over items ?2024-02-20T20:55:54ZLironeUpdate a css properties before iterating over items ?Hi,
I tried to scrap all the bills using the module freemobile.
I struggle with the pagination.
Indeed, the data is displayed depending of the status of display on the css.
```
<div class="yearSection" style="display: none;">
<div clas...Hi,
I tried to scrap all the bills using the module freemobile.
I struggle with the pagination.
Indeed, the data is displayed depending of the status of display on the css.
```
<div class="yearSection" style="display: none;">
<div class="yearSection" style="display: block;">
```
If I change `display: none` to `display: block`, I can fetch all bills from year 2022 and 2023.
If not, only 2023.
My question is: is there a way at the level of an DocumentPage, before iterating, to edit the style ?
Otherwise, what would be the best way to make this pagination work ?
Thank youhttps://gitlab.com/woob/woob/-/issues/637[Impotgouvfrpar] Your browser does not support iframes.2024-02-20T20:55:30ZLirone[Impotgouvfrpar] Your browser does not support iframes.Hi,
I tried to scrap the document from the section "Biens Immobiliers" (impotgouv).
I noticed that I was not able to fetch any items from the page.
I changed my page class to inherit from RawPage in order to analyse the content of the ...Hi,
I tried to scrap the document from the section "Biens Immobiliers" (impotgouv).
I noticed that I was not able to fetch any items from the page.
I changed my page class to inherit from RawPage in order to analyse the content of the HTML.
Then I noticed, that indeed my content was not available:
```
<main id="contenu" role="main">
<iframe id="ifrm_gmbi" src="/gmbi-mapi" \n onload="setIframeHeight(this.id)"
title="cadre h\xc3\xa9bergeant la gestion de mes biens immobiliers" name="iframe_gmbicfspart" \n
width="100%" scrolling="yes" style="border: none">\n <p>Your browser does not support iframes.</p>\n
</iframe>
</main>
```
Is there something I can do ?
Thank youhttps://gitlab.com/woob/woob/-/issues/639Boursorama asks to go to interactive mode, then fails2024-02-20T20:55:19ZBenoit 'BoD' LubekBoursorama asks to go to interactive mode, then fails### With which module do you encounter problems?
Bank, Boursorama
### Describe the problem you encounter
Trying to get data from Boursorama fails with
- `You have to run bank in interactive mode to perform a two-factor authentication`
...### With which module do you encounter problems?
Bank, Boursorama
### Describe the problem you encounter
Trying to get data from Boursorama fails with
- `You have to run bank in interactive mode to perform a two-factor authentication`
- `Unable to find element //form[@name="form"]/div[@data-strong-authentication-payload]`
```
# /usr/local/bin/woob bank history <myaccount>@boursorama -f json -n 16 --auto-update
=== [ 7%] Module cmso is not installed yet
=== [ 10%] Downloading module...
=== [ 17%] Checking module authenticity...
=== [ 23%] Setting up module...
=== [ 30%] Downloading icon...
=== [ 33%] Module cmso has been installed!
=== [ 40%] Module allianzbanque is not installed yet
=== [ 43%] Downloading module...
=== [ 50%] Checking module authenticity...
=== [ 57%] Setting up module...
=== [ 63%] Downloading icon...
=== [ 67%] Module allianzbanque has been installed!
=== [ 73%] Module axabanque is not installed yet
=== [ 77%] Downloading module...
=== [ 83%] Checking module authenticity...
=== [ 90%] Setting up module...
=== [ 97%] Downloading icon...
=== [100%] Module axabanque has been installed!
=== [ 20%] Module boursorama is not installed yet
=== [ 30%] Downloading module...
=== [ 50%] Checking module authenticity...
=== [ 70%] Setting up module...
=== [ 90%] Downloading icon...
=== [100%] Module boursorama has been installed!
Error(boursorama): You have to run bank in interactive mode to perform a two-factor authentication
[]
```
Ok then,
```
# /usr/local/bin/woob bank
Unable to load formatter "table": Please install python-prettytable
Falling back to "multiline".
Welcome to bank v3.6
Copyright(C) 2010-2023 Romain Bignon, Christophe Benz
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Type "help" to display available commands.
Loaded backends: axabanque, boursorama
bank> list
Account Balance Coming
------------------------------------------+----------+----------
Bug(boursorama): Unable to find element //form[@name="form"]/div[@data-strong-authentication-payload]
(If --auto-update is passed on the command-line, new versions of the module will be checked automatically)
Use "logging debug" option to print backtraces.
#1 (axabanque) COMPTE COURANT 2 xx.xx 0.00
------------------------------------------+----------+----------
Total (EUR) xx.xx 0.00
bank>
```
### Paste here the stacktrace or error message you observe
```
Bug(boursorama): Unable to find element //form[@name="form"]/div[@data-strong-authentication-payload]
(If --auto-update is passed on the command-line, new versions of the module will be checked automatically)
Traceback (most recent call last):
File "/usr/local/lib/python3.8/dist-packages/woob/browser/filters/html.py", line 107, in filter
return '%s' % el[0].attrib[self.attr]
IndexError: list index out of range
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.8/dist-packages/woob/core/bcall.py", line 88, in backend_process
result = function(backend, *args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/woob/tools/application/base.py", line 348, in _do_complete
res = getattr(backend, function)(*args, **kwargs)
File "/root/.local/share/woob/modules/3.6/woob_modules/boursorama/module.py", line 188, in iter_resources
return self.iter_accounts()
File "/root/.local/share/woob/modules/3.6/woob_modules/boursorama/module.py", line 68, in iter_accounts
return self.browser.get_accounts_list()
File "/usr/local/lib/python3.8/dist-packages/woob/browser/retry.py", line 75, in wrapper
ret = cb()
File "/usr/local/lib/python3.8/dist-packages/woob/browser/retry.py", line 71, in <lambda>
cb = lambda: func(browser, *args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/woob/browser/browsers.py", line 1118, in inner
browser.do_login()
File "/usr/local/lib/python3.8/dist-packages/woob/browser/retry.py", line 43, in wrapper
return func(browser, *args, **kwargs)
File "/root/.local/share/woob/modules/3.6/woob_modules/boursorama/browser.py", line 476, in do_login
return super(BoursoramaBrowser, self).do_login()
File "/usr/local/lib/python3.8/dist-packages/woob/browser/mfa.py", line 201, in do_double_authentication
self.init_login()
File "/root/.local/share/woob/modules/3.6/woob_modules/boursorama/browser.py", line 459, in init_login
self.handle_authentication()
File "/root/.local/share/woob/modules/3.6/woob_modules/boursorama/browser.py", line 335, in handle_authentication
self.otp_number = self.page.get_otp_number()
File "/root/.local/share/woob/modules/3.6/woob_modules/boursorama/pages.py", line 131, in get_otp_number
return Regexp(
File "/usr/local/lib/python3.8/dist-packages/woob/browser/filters/base.py", line 188, in __call__
return self.filter(self.select(self.selector, item))
File "/usr/local/lib/python3.8/dist-packages/woob/browser/filters/base.py", line 172, in select
ret = selector(item)
File "/usr/local/lib/python3.8/dist-packages/woob/browser/filters/base.py", line 188, in __call__
return self.filter(self.select(self.selector, item))
File "/usr/local/lib/python3.8/dist-packages/woob/browser/filters/base.py", line 136, in wrapper
res = function(self, value)
File "/usr/local/lib/python3.8/dist-packages/woob/browser/filters/html.py", line 109, in filter
return self.default_or_raise(XPathNotFound('Unable to find element %s' % self.selector))
File "/usr/local/lib/python3.8/dist-packages/woob/browser/filters/base.py", line 71, in default_or_raise
raise exception
woob.browser.filters.html.XPathNotFound: Unable to find element //form[@name="form"]/div[@data-strong-authentication-payload]
```
### What are the steps to reproduce the problem?
See above
### What woob version are you using?
Latest from git as of today.
Output of `woob config --version` command:
```
Woob config v3.6 Copyright(C) 2010-2023 Christophe Benz, Romain Bignon
```
### What module version are you using?
Output of `woob config info MODULE_NAME` command:
```
.------------------------------------------------------------------------------.
| Module boursorama |
+-----------------.------------------------------------------------------------'
| Version | 202305231553
| Maintainer | Gabriel Kerneis <gabriel@kerneis.info>
| License | LGPLv3+
| Description | Boursorama
| Capabilities | CapTransfer, CapCollection, CapBank, CapBankWealth, CapProfile, CapContact, CapDocument, CapBankTransferAddRecipient, CapBankTransfer, CapCredentialsCheck, CapCurrencyRate
| Installed | yes
| Location | https://updates.woob.tech/3/main/boursorama.tar.gz
| |
| Configuration | login: Identifiant (default: )
| | password: Mot de passe (default: )
'-----------------'
```
### How did you install woob?
```
git clone https://gitlab.com/woob/woob.git --depth 1
cd woob && pip install .
woob update
```https://gitlab.com/woob/woob/-/issues/644local_install.sh doesn't work anymore with Debian 12 ?2024-02-20T20:54:48ZVincent Frisonlocal_install.sh doesn't work anymore with Debian 12 ?Hello,
I have updated my laptop to Debian 12 (testing) and now local_install.sh doesn't work anymore:
turman@entropy:~/Repositories/woob$./tools/local_install.sh /home/turman/.local/bin/
Woob local installer
Installing woob applicatio...Hello,
I have updated my laptop to Debian 12 (testing) and now local_install.sh doesn't work anymore:
turman@entropy:~/Repositories/woob$./tools/local_install.sh /home/turman/.local/bin/
Woob local installer
Installing woob applications into ‘/home/turman/.local/bin/’.
error: externally-managed-environment
× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.
If you wish to install a non-Debian-packaged Python package,
create a virtual environment using python3 -m venv path/to/venv.
Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
sure you have python3-full installed.
If you wish to install a non-Debian packaged Python application,
it may be easiest to use pipx install xyz, which will manage a
virtual environment for you. Make sure you have pipx installed.
See /usr/share/doc/python3.11/README.venv for more information.
note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.
Traceback (most recent call last):
File "/home/turman/Repositories/woob/./tools/local_install.py", line 44, in <module>
subprocess.check_call(
File "/usr/lib/python3.11/subprocess.py", line 413, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/usr/bin/python3', '-m', 'pip', 'install', '--user', '.']' returned non-zero exit status 1.
It looks like there were some changes about Python in Debian 12. Do we really have to create a virtual environment now ?
Note that the Debian package python3-pip is installed on my system (the pip command is my path).
Any help would be very appreciated as I'm not familiar at all with the Python environment and language.
Thanks, Vincent.https://gitlab.com/woob/woob/-/issues/646[caissedepargne] RUN_OPERATIONS_SYNC failed with error: `Unknown error: 400 C...2024-02-20T20:53:53ZGTHeyyy[caissedepargne] RUN_OPERATIONS_SYNC failed with error: `Unknown error: 400 Client Error: Bad Request### With which module do you encounter problems?
CAISSEDEPARGNE
### Describe the problem you encounter
On sync :
RUN_OPERATIONS_SYNC failed with error: Object { code: "GENERIC_EXCEPTION", message: `Unknown error: 400 Client Error: Bad Re...### With which module do you encounter problems?
CAISSEDEPARGNE
### Describe the problem you encounter
On sync :
RUN_OPERATIONS_SYNC failed with error: Object { code: "GENERIC_EXCEPTION", message: `Unknown error: 400 Client Error: Bad Request.
### Paste here the stacktrace or error message you observe
```
Action RUN_OPERATIONS_SYNC failed with error:
Object { code: "GENERIC_EXCEPTION", message: `Unknown error: 400 Client Error: Bad Request.\n
Traceback (most recent call last):\n
File "/var/www/kresus/build/server/providers/woob/py/main.py", line 704, in fetch\n
results['values'] = self.get_operations(from_date)\n
File "/var/www/kresus/build/server/providers/woob/py/main.py", line 593, in get_operations\n
for histop in self.backend.iter_history(account):\n
File "/var/www/kresus/data/woob-data/modules/3.6/woob_modules/caissedepargne/module.py", line 75, in iter_history\n
return self.browser.iter_history(account)\n
File "/var/www/kresus/venv/lib/python3.9/site-packages/woob/browser/switch.py", line 98, in wrapper\n
return val(*args, **kwargs)\n
File "/var/www/kresus/venv/lib/python3.9/site-packages/woob/browser/browsers.py", line 1121, in inner\n
return func(browser, *args, **kwargs)\n File "/var/www/kresus/data/woob-data/modules/3.6/woob_modules/caissedepargne/browser.py", line 1207, in iter_history\n
self.go_to_secondary_space('linebourse', account)\n File "/var/www/kresus/data/woob-data/modules/3.6/woob_modules/caissedepargne/browser.py", line 1144, in go_to_secondary_space\n
self.prepare_rerouting.go(json=data, website_id=account._website_id)\n
File "/var/www/kresus/venv/lib/python3.9/site-packages/woob/browser/url.py", line 139, in go\n
r = self.browser.location(self.build(**kwargs), params=params, data=data, json=json, method=method,\n
File "/var/www/kresus/venv/lib/python3.9/site-packages/woob/browser/browsers.py", line 1035, in location\n
response = self.open(*args, **kwargs)\n
File "/var/www/kresus/venv/lib/python3.9/site-packages/woob/browser/browsers.py", line 1022, in open\n
return super(PagesBrowser, self).open(callback=internal_callback, *args, **kwargs)\n
File "/var/www/kresus/venv/lib/python3.9/site-packages/woob/browser/browsers.py", line 879, in open\n
return super().open(url, *args, **kwargs)\n
File "/var/www/kresus/venv/lib/python3.9/site-packages/woob/browser/browsers.py", line 530, in open\n
response = self.session.send(preq,\n
File "/var/www/kresus/venv/lib/python3.9/site-packages/woob/browser/sessions.py", line 161, in send\n
return func(*args, **kwargs)\n
File "/var/www/kresus/venv/lib/python3.9/site-packages/woob/browser/sessions.py", line 154, in func\n
return callback(self, resp)\n
File "/var/www/kresus/venv/lib/python3.9/site-packages/woob/browser/browsers.py", line 525, in inner_callback\n
self.raise_for_status(response)\n
File "/var/www/kresus/venv/lib/python3.9/site-packages/woob/browser/browsers.py", line 590, in raise_for_status\n
raise ClientError(http_error_msg, response=response)\n
woob.browser.exceptions.ClientError: 400 Client Error: Bad Request\n`, shortMessage: "Unknown error: 400 Client Error: Bad Request." }
index.d12f352d.js:168:33840
```
### What are the steps to reproduce the problem?
Just launch sync from kresus app
### What woob version are you using?
3.6
Output of `woob config --version` command:
```
?
```
### What module version are you using?
Output of `woob config info MODULE_NAME` command:
```
?
```
### How did you install woob?
Via kresus : https://kresus.org/
### Additional info you'd like to mentionhttps://gitlab.com/woob/woob/-/issues/648Bug(creditcooperatif): L'espace client n'a pas été trouvé avec le type de com...2024-02-20T20:53:18ZMCMicBug(creditcooperatif): L'espace client n'a pas été trouvé avec le type de compte renseigné. Veuillez vérifier que le type de compte est correct.Hello,
I get this error when using bank list: Bug(creditcooperatif): L'espace client n'a pas été trouvé avec le type de compte renseigné. Veuillez vérifier que le type de compte est correct.
It was working before, I suppose something ch...Hello,
I get this error when using bank list: Bug(creditcooperatif): L'espace client n'a pas été trouvé avec le type de compte renseigné. Veuillez vérifier que le type de compte est correct.
It was working before, I suppose something changed on crédit coopératif website.
But I wanted to test adding as a new account and I cannot figure out how to configure the backend from woob bank the command backends does not have help or --help options. Is the account type the error is talking about something I can select in the backend options?https://gitlab.com/woob/woob/-/issues/650ModuleNotFoundError: No module named 'woob_applications'2024-02-20T20:49:50ZtomyviModuleNotFoundError: No module named 'woob_applications'This is a template for submitting an issue, fill the blanks and remove non-applicable stuff.
First, read the [frequently asked questions](https://gitlab.com/woob/woob/-/wikis/faq#common-problems).
### With which module do you encounter...This is a template for submitting an issue, fill the blanks and remove non-applicable stuff.
First, read the [frequently asked questions](https://gitlab.com/woob/woob/-/wikis/faq#common-problems).
### With which module do you encounter problems?
woob as an application
### Describe the problem you encounter
I get a general python error when calling any woob application.
### Paste here the stacktrace or error message you observe
Traceback (most recent call last):
File "/home/pi/.local/lib/python3.9/site-packages/woob/launcher.py", line 52, in load_app
app_module = importlib.import_module("woob.applications.%s" % app)
File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 790, in exec_module
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "/home/pi/.local/lib/python3.9/site-packages/woob/applications/bank/__init__.py", line 19, in <module>
from .bank import Appbank
File "/home/pi/.local/lib/python3.9/site-packages/woob/applications/bank/bank.py", line 29, in <module>
from woob.core.bcall import CallErrors
File "/home/pi/.local/lib/python3.9/site-packages/woob/core/__init__.py", line 21, in <module>
from .woob import Woob, WoobBase
File "/home/pi/.local/lib/python3.9/site-packages/woob/core/woob.py", line 32, in <module>
from woob.core.repositories import Repositories, IProgress, PrintProgress
File "/home/pi/.local/lib/python3.9/site-packages/woob/core/repositories.py", line 40, in <module>
from woob.browser.browsers import Browser
File "/home/pi/.local/lib/python3.9/site-packages/woob/browser/__init__.py", line 18, in <module>
from .browsers import (
File "/home/pi/.local/lib/python3.9/site-packages/woob/browser/browsers.py", line 60, in <module>
from .pages import NextPage
File "/home/pi/.local/lib/python3.9/site-packages/woob/browser/pages.py", line 38, in <module>
from woob.browser.filters.base import _Filter
File "/home/pi/.local/lib/python3.9/site-packages/woob/browser/filters/base.py", line 20, in <module>
import lxml.html
File "/home/pi/.local/lib/python3.9/site-packages/lxml/html/__init__.py", line 53, in <module>
from .. import etree
ImportError: libxslt.so.1: cannot open shared object file: No such file or directory
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/pi/.local/bin/woob", line 8, in <module>
sys.exit(Launcher.run())
File "/home/pi/.local/lib/python3.9/site-packages/woob/launcher.py", line 106, in run
return cls.run_app(sys.argv[1], sys.argv[2:])
File "/home/pi/.local/lib/python3.9/site-packages/woob/launcher.py", line 60, in run_app
app_class = cls.load_app(app)
File "/home/pi/.local/lib/python3.9/site-packages/woob/launcher.py", line 54, in load_app
app_module = importlib.import_module("woob_applications.%s" % app)
File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 972, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'woob_applications'
### What are the steps to reproduce the problem?
call "woob bank" for example
### What woob version are you using?
Output of `woob config --version` command:
latest version installed using pip, but I get the same message error when calling the above command
### What module version are you using?
Output of `woob config info MODULE_NAME` command:
same
### How did you install woob?
pip
### Additional info you'd like to mention
list of dependencies installed by pip :
Requirement already satisfied: woob in ./.local/lib/python3.9/site-packages (3.6)
Requirement already satisfied: requests>=2.0.0 in ./.local/lib/python3.9/site-packages (from woob) (2.31.0)
Requirement already satisfied: pycountry in ./.local/lib/python3.9/site-packages (from woob) (22.3.5)
Requirement already satisfied: unidecode in ./.local/lib/python3.9/site-packages (from woob) (1.3.6)
Requirement already satisfied: html2text>=3.200 in ./.local/lib/python3.9/site-packages (from woob) (2020.1.16)
Requirement already satisfied: PyYAML in /usr/lib/python3/dist-packages (from woob) (5.3.1)
Requirement already satisfied: Babel in ./.local/lib/python3.9/site-packages (from woob) (2.12.1)
Requirement already satisfied: lxml in ./.local/lib/python3.9/site-packages (from woob) (4.9.3)
Requirement already satisfied: rich~=13.0 in ./.local/lib/python3.9/site-packages (from woob) (13.5.2)
Requirement already satisfied: Pillow in /usr/lib/python3/dist-packages (from woob) (8.1.2)
Requirement already satisfied: packaging~=23.0 in ./.local/lib/python3.9/site-packages (from woob) (23.1)
Requirement already satisfied: python-dateutil in ./.local/lib/python3.9/site-packages (from woob) (2.8.2)
Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/lib/python3/dist-packages (from requests>=2.0.0->woob) (1.26.5)
Requirement already satisfied: certifi>=2017.4.17 in /usr/lib/python3/dist-packages (from requests>=2.0.0->woob) (2020.6.20)
Requirement already satisfied: charset-normalizer<4,>=2 in ./.local/lib/python3.9/site-packages (from requests>=2.0.0->woob) (3.2.0)
Requirement already satisfied: idna<4,>=2.5 in /usr/lib/python3/dist-packages (from requests>=2.0.0->woob) (2.10)
Requirement already satisfied: pygments<3.0.0,>=2.13.0 in ./.local/lib/python3.9/site-packages (from rich~=13.0->woob) (2.16.1)
Requirement already satisfied: markdown-it-py>=2.2.0 in ./.local/lib/python3.9/site-packages (from rich~=13.0->woob) (3.0.0)
Requirement already satisfied: mdurl~=0.1 in ./.local/lib/python3.9/site-packages (from markdown-it-py>=2.2.0->rich~=13.0->woob) (0.1.2)
Requirement already satisfied: setuptools in /usr/lib/python3/dist-packages (from pycountry->woob) (52.0.0)
Requirement already satisfied: six>=1.5 in /usr/lib/python3/dist-packages (from python-dateutil->woob) (1.16.0)https://gitlab.com/woob/woob/-/issues/653Bug(creditcooperatif): Unable to parse date in label 'CB PAYLOGIC 213042': mo...2024-02-20T20:47:56ZneodarZBug(creditcooperatif): Unable to parse date in label 'CB PAYLOGIC 213042': month must be in 1..12On my bank statement i've notice a bug with a label looking like `CB PAYLOGIC 213042` and the following error:
```
Bug(creditcooperatif): Unable to parse date in label 'CB PAYLOGIC 213042': month must be in 1..12
```
I've changed a bit...On my bank statement i've notice a bug with a label looking like `CB PAYLOGIC 213042` and the following error:
```
Bug(creditcooperatif): Unable to parse date in label 'CB PAYLOGIC 213042': month must be in 1..12
```
I've changed a bit the number but the idea is: this is not a date but it's expecting a date after `PAYLOGIC`.
After looking deeper into the source code of the caissedepargne module i've noticed that it's used regex to detect some payement. Sadly i'm not an expert into all of that but i'v patched the file with the following modification:
```
diff --git a/modules/caissedepargne/pages.py b/modules/caissedepargne/pages.py
index 1437d9cad..b80baace7 100644
--- a/modules/caissedepargne/pages.py
+++ b/modules/caissedepargne/pages.py
@@ -425,11 +425,11 @@ class Transaction(FrenchTransaction):
(re.compile(r'^CB [\d\*]+ TOT DIF .*', re.IGNORECASE), FrenchTransaction.TYPE_CARD_SUMMARY),
(re.compile(r'^CB [\d\*]+ (?P<text>.*)', re.IGNORECASE), FrenchTransaction.TYPE_CARD),
(
- re.compile(r'^CB (?P<text>.*?) (?P<dd>\d{2})(?P<mm>\d{2})(?P<yy>\d{2})\b', re.IGNORECASE),
+ re.compile(r'^CB (?P<text>.*?) (?P<dd>0[1-9]|1[0-9]|2[0-9]|3[0-9])(?P<mm>0[1-9]|1[012])(?P<yy>\d{2})', re.IGNORECASE),
FrenchTransaction.TYPE_CARD,
),
(
- re.compile(r'\*CB (?P<text>.*?) (?P<dd>\d{2})(?P<mm>\d{2})(?P<yy>\d{2})\b', re.IGNORECASE),
+ re.compile(r'\*CB (?P<text>.*?) (?P<dd>0[1-9]|1[0-9]|2[0-9]|3[0-9])(?P<mm>0[1-9]|1[012])(?P<yy>\d{2})', re.IGNORECASE),
FrenchTransaction.TYPE_CARD,
),
(
```
I currently test this code on the master branch directly which i just pull some hours ago. (last commit 58cc2f5bc49ac7e4740b7282912457cfcb9f898f locally)
Do you think I miss some cases? Their could maybe 1 or 2 other regex that could use the same logic and yes it doesn't fit **all** the case. I've search for the documentation on paylogic on the subject but nothing.https://gitlab.com/woob/woob/-/issues/655woob bank: backend creation fails - checking module authenticity ....2024-02-20T20:29:50Zjeck peppingerwoob bank: backend creation fails - checking module authenticity ....Woob 3.6 on windows 11
I want to install the n26 backend in woob bank (same issue with all other backends), it shows a download progress bar which completes and then a bar for checking authenticity. The check shows 100% completion, but ...Woob 3.6 on windows 11
I want to install the n26 backend in woob bank (same issue with all other backends), it shows a download progress bar which completes and then a bar for checking authenticity. The check shows 100% completion, but thats it, no further progress, frozen ...
![Screenshot_2023-08-25_191856](/uploads/0503884eea614fcbd46a2abdeca2a197/Screenshot_2023-08-25_191856.png)
Any idea what is wrong here, why the module installation / authentication does not complete?
How to debug this matter, are there log files?
I am not familiar with programming, python, or woob.
Any hint welcome.https://gitlab.com/woob/woob/-/issues/656[SUPPORT/DEV] BNP / BNPORC Stocks/Trading2024-02-20T20:24:19ZLaviale Benoit[SUPPORT/DEV] BNP / BNPORC Stocks/TradingHello!
First of all, thx for this tool that is really usefull and second, thx of the guy who choose the name of BNPORC <3 I really like it!
My case :
I am currently making an app to optimize stocks trading.
For now, i am just calc...Hello!
First of all, thx for this tool that is really usefull and second, thx of the guy who choose the name of BNPORC <3 I really like it!
My case :
I am currently making an app to optimize stocks trading.
For now, i am just calculating some action regarding some data, if i have to buy a stock, sell a stock, change the SL/TP or something like that.
After this calculation, I have to apply manually those actions (buy, sell, change sl/tp).
I would like to automise those actions (SL/TP / Buy sell) on my BNPPorc Bourse (PEA) account.
Is this possible?
Is there something in the pipe in woob project regarding the web trading app of the BNP to manage stocks?
If not, where can i find a good start to implement something?
Thxhttps://gitlab.com/woob/woob/-/issues/657[caissedepargne] history truncates trailing 0 in decimals with formatter csv2024-02-20T20:23:33ZWoofer[caissedepargne] history truncates trailing 0 in decimals with formatter csvscripted download + post-process output:
```
15/09/23;;*OFFRE BOUQUET LIBERTE;;-15.19;;
05/09/23;;PRLV MSF;;-20.0;;
```
interactive session:
```
bank> formatter csv
bank> history 3
id;url;date;rdate;vdate;bdate;type;raw;category;label;...scripted download + post-process output:
```
15/09/23;;*OFFRE BOUQUET LIBERTE;;-15.19;;
05/09/23;;PRLV MSF;;-20.0;;
```
interactive session:
```
bank> formatter csv
bank> history 3
id;url;date;rdate;vdate;bdate;type;raw;category;label;amount;coming;card;commission;gross_amount;original_amount;original_currency;country;original_commission;original_commission_currency;original_gross_amount;attachments;investments;counterparty;bank_transaction_code
@cealpes-ol;Not loaded;2023-09-15;2023-09-15;Not loaded;Not loaded;9;*OFFRE BOUQUET LIBERTE;Not loaded;OFFRE BOUQUET LIBERTE;-15.19;Not loaded;Not loaded;Not loaded;Not loaded;Not loaded;Not loaded;Not loaded;Not loaded;Not loaded;Not loaded;Not loaded;[];Not loaded;Not loaded
@cealpes-ol;Not loaded;2023-09-05;2023-09-05;Not loaded;Not loaded;2;PRLV MSF;Not loaded;MSF;-20.0;Not loaded;Not loaded;Not loaded;Not loaded;Not loaded;Not loaded;Not loaded;Not loaded;Not loaded;Not loaded;Not loaded;[];Not loaded;Not loaded
```
values for column `amount` used to be zero-padded 2 decimals (%.2f)
woob: a197533e2 - (HEAD -> master, origin/master)https://gitlab.com/woob/woob/-/issues/658Bug on local_install.sh if destination directory is not existing2024-02-20T20:23:14ZroumanoBug on local_install.sh if destination directory is not existingIt's a "small" bug on the installation process :
if the path is not existing before running the install, the install is not done in the good destination path :
* if the `~/bin` if not existing :
```
./tools/local_install.sh ~/bin
W...It's a "small" bug on the installation process :
if the path is not existing before running the install, the install is not done in the good destination path :
* if the `~/bin` if not existing :
```
./tools/local_install.sh ~/bin
Woob local installer
Installing woob applications into ‘/data/woob/bin’.
...
...
Successfully installed Babel-2.13.0 html2text-2020.1.16 lxml-4.9.3 markdown-it-py-3.0.0 mdurl-0.1.2 packaging-23.2 pycountry-22.3.5 pygments-2.16.1 python-dateutil-2.8.2 rich-13.6.0 termcolor-2.3.0 unidecode-1.3.7 woob-3.6
/usr/bin/python3: can't open file '/data/woob/bin/woob': [Errno 20] Not a directory
```
And the directory ~/bin will not created and the binary `~/bin/woob` will be created as `~/bin` , ... :
```
file ~/bin
/data/woob/bin: Python script, ASCII text executable
woob@pi:~ $ cat bin
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import re
import sys
from woob.launcher import Launcher
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
sys.exit(Launcher.run())
```
The local_install should verify if destination path is existing and create if needed
The actual workaround is to :
* remove badly created file `rm -f ~/bin`
* create the directory `mkdir ~/bin`
* re-run the install `./tools/local_install.sh ~/bin`