woob issueshttps://gitlab.com/woob/woob/-/issues2024-03-06T17:24:32Zhttps://gitlab.com/woob/woob/-/issues/683[question]What would it take to implement market orders?2024-03-06T17:24:32ZEaru[question]What would it take to implement market orders?I'd like to automate some of my finances on my Boursorama PEA, I've skimmed through all the doc, and some of the code, but I can't see anything that lets you submit market orders/purchase/make investments from woob.
If you can already d...I'd like to automate some of my finances on my Boursorama PEA, I've skimmed through all the doc, and some of the code, but I can't see anything that lets you submit market orders/purchase/make investments from woob.
If you can already do that an example would be greatly appreciated.
If not, what would it take to implement? Is it even possible?
My understanding is that woob actually spins up a browser in the background that acts like some RPA process, theoretically if there is an interface to do market orders, shouldn't it be possible?https://gitlab.com/woob/woob/-/issues/681Boursobank/Boursorama stopped working2024-03-03T23:32:16ZToXiC ToXiCBoursobank/Boursorama stopped workingHello,
I'm facing the below error trying to sync my boursobank account.
It's been like that since 6th of february, was even the case before that for over a week, but magically one sync got completed on 6th of february...
I'm running wo...Hello,
I'm facing the below error trying to sync my boursobank account.
It's been like that since 6th of february, was even the case before that for over a week, but magically one sync got completed on 6th of february...
I'm running woob 3.6 inside the docker bnjbvr/kresus:latest image, kresus guys seem to believe it's a woob issue.
Any help would be welcome !
```
[2024-02-09T11:15:51.937] [INFO] HTTP - GET / - 200 (5 ms)
[2024-02-09T11:15:52.113] [INFO] HTTP - GET /assets/index.32b90ad4.js - 200 (13 ms)
[2024-02-09T11:15:52.165] [INFO] HTTP - GET /assets/index.0a0d4d4a.css - 200 (6 ms)
[2024-02-09T11:15:52.668] [INFO] HTTP - GET /api/all/ - 200 (241 ms)
[2024-02-09T11:15:52.670] [INFO] HTTP - GET /assets/favicon-192x192.bacde796.png - 200 (63 ms)
[2024-02-09T11:15:54.671] [INFO] HTTP - GET /assets/OpenSans-Semibold.b0390aa3.woff - 200 (5 ms)
[2024-02-09T11:15:54.672] [INFO] HTTP - GET /assets/fontawesome-webfont.2adefcbc.woff2?v=4.7.0 - 200 (8 ms)
[2024-02-09T11:15:54.762] [INFO] HTTP - GET /assets/bank-sprite.png - 200 (8 ms)
[2024-02-09T11:16:16.939] [INFO] providers/woob - Calling woob: command transactions...
[2024-02-09T11:16:48.830] [INFO] providers/woob - exited with code 1.
[2024-02-09T11:16:48.830] [WARN] providers/woob - stderr: 2024-02-09 11:16:48,719:WARNING:woob.boursorama.browser.historypage.item:elements.py:496:handle_attr Attribute id (in /data/woob-data/modules/3.6/woob_modules/boursorama/pages.py:748) raises TypeError("'NoneType' object is not subscriptable")
[2024-02-09T11:16:48.831] [INFO] providers/woob - Command returned an error code.
[2024-02-09T11:16:48.832] [INFO] providers/woob - Checking that woob is installed and can actually be called…
[2024-02-09T11:16:48.832] [INFO] providers/woob - Calling woob: command test...
[2024-02-09T11:16:49.279] [INFO] providers/woob - exited with code 0.
[2024-02-09T11:16:49.280] [INFO] providers/woob - OK: woob exited normally with non-empty JSON content.
[2024-02-09T11:16:49.280] [ERROR] providers/woob - Got error while running command "2": Unknown error: 'NoneType' object is not subscriptable.
Traceback (most recent call last):
File "/usr/local/share/.config/yarn/global/node_modules/kresus/build/server/providers/woob/py/main.py", line 704, in fetch
results['values'] = self.get_transactions(from_date)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/share/.config/yarn/global/node_modules/kresus/build/server/providers/woob/py/main.py", line 593, in get_transactions
for hist_tr in self.backend.iter_history(account):
File "/data/woob-data/modules/3.6/woob_modules/boursorama/module.py", line 72, in iter_history
for tr in self.browser.get_history(account):
File "/usr/local/lib/python3.11/dist-packages/woob/browser/retry.py", line 168, in __next__
obj = next(self.it)
^^^^^^^^^^^^^
File "/data/woob-data/modules/3.6/woob_modules/boursorama/browser.py", line 895, in get_card_transactions
for tr in self.open(account.url).page.iter_history(is_card=True):
File "/data/woob-data/modules/3.6/woob_modules/boursorama/pages.py", line 659, in inner
for r in func(page, *args, **kwargs):
File "/usr/local/lib/python3.11/dist-packages/woob/browser/elements.py", line 281, in __iter__
for obj in item:
File "/usr/local/lib/python3.11/dist-packages/woob/browser/elements.py", line 470, in __iter__
self.handle_attr(attr, getattr(self, 'obj_%s' % attr))
File "/usr/local/lib/python3.11/dist-packages/woob/browser/elements.py", line 489, in handle_attr
value = self.use_selector(func, key=key)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/woob/browser/elements.py", line 177, in use_selector
value = func()
^^^^^^
File "/data/woob-data/modules/3.6/woob_modules/boursorama/pages.py", line 776, in obj_id
if Field('_is_coming')(self):
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/woob/browser/filters/standard.py", line 563, in __call__
return item.use_selector(getattr(item, 'obj_%s' % self.name), key=self._key)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/woob/browser/elements.py", line 177, in use_selector
value = func()
^^^^^^
File "/data/woob-data/modules/3.6/woob_modules/boursorama/pages.py", line 837, in obj__is_coming
or self.obj_date() > datetime.date.today()
^^^^^^^^^^^^^^^
File "/data/woob-data/modules/3.6/woob_modules/boursorama/pages.py", line 861, in obj_date
closest = self.page.browser.get_debit_date(date)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/woob-data/modules/3.6/woob_modules/boursorama/browser.py", line 781, in get_debit_date
for i, j in zip(self.deferred_card_calendar, self.deferred_card_calendar[1:]):
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^
TypeError: 'NoneType' object is not subscriptable
[2024-02-09T11:16:49.280] [ERROR] providers/woob - (error code: GENERIC_EXCEPTION)
[2024-02-09T11:16:49.307] [ERROR] helpers - when fetching transactions: Unknown error: 'NoneType' object is not subscriptable.
Traceback (most recent call last):
File "/usr/local/share/.config/yarn/global/node_modules/kresus/build/server/providers/woob/py/main.py", line 704, in fetch
results['values'] = self.get_transactions(from_date)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/share/.config/yarn/global/node_modules/kresus/build/server/providers/woob/py/main.py", line 593, in get_transactions
for hist_tr in self.backend.iter_history(account):
File "/data/woob-data/modules/3.6/woob_modules/boursorama/module.py", line 72, in iter_history
for tr in self.browser.get_history(account):
File "/usr/local/lib/python3.11/dist-packages/woob/browser/retry.py", line 168, in __next__
obj = next(self.it)
^^^^^^^^^^^^^
File "/data/woob-data/modules/3.6/woob_modules/boursorama/browser.py", line 895, in get_card_transactions
for tr in self.open(account.url).page.iter_history(is_card=True):
File "/data/woob-data/modules/3.6/woob_modules/boursorama/pages.py", line 659, in inner
for r in func(page, *args, **kwargs):
File "/usr/local/lib/python3.11/dist-packages/woob/browser/elements.py", line 281, in __iter__
for obj in item:
File "/usr/local/lib/python3.11/dist-packages/woob/browser/elements.py", line 470, in __iter__
self.handle_attr(attr, getattr(self, 'obj_%s' % attr))
File "/usr/local/lib/python3.11/dist-packages/woob/browser/elements.py", line 489, in handle_attr
value = self.use_selector(func, key=key)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/woob/browser/elements.py", line 177, in use_selector
value = func()
^^^^^^
File "/data/woob-data/modules/3.6/woob_modules/boursorama/pages.py", line 776, in obj_id
if Field('_is_coming')(self):
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/woob/browser/filters/standard.py", line 563, in __call__
return item.use_selector(getattr(item, 'obj_%s' % self.name), key=self._key)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/woob/browser/elements.py", line 177, in use_selector
value = func()
^^^^^^
File "/data/woob-data/modules/3.6/woob_modules/boursorama/pages.py", line 837, in obj__is_coming
or self.obj_date() > datetime.date.today()
^^^^^^^^^^^^^^^
File "/data/woob-data/modules/3.6/woob_modules/boursorama/pages.py", line 861, in obj_date
closest = self.page.browser.get_debit_date(date)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/woob-data/modules/3.6/woob_modules/boursorama/browser.py", line 781, in get_debit_date
for i, j in zip(self.deferred_card_calendar, self.deferred_card_calendar[1:]):
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^
TypeError: 'NoneType' object is not subscriptable
[2024-02-09T11:16:49.308] [INFO] helpers - Error
at new KError (/usr/local/share/.config/yarn/global/node_modules/kresus/build/server/helpers.js:62:22)
at callWoob (/usr/local/share/.config/yarn/global/node_modules/kresus/build/server/providers/woob/index.js:234:15)
at async _fetchHelper (/usr/local/share/.config/yarn/global/node_modules/kresus/build/server/providers/woob/index.js:291:16)
at async Object.fetchTransactions (/usr/local/share/.config/yarn/global/node_modules/kresus/build/server/providers/woob/index.js:315:12)
at async pollTransactions (/usr/local/share/.config/yarn/global/node_modules/kresus/build/server/lib/accounts-manager.js:214:34)
at async AccountManager.syncTransactions (/usr/local/share/.config/yarn/global/node_modules/kresus/build/server/lib/accounts-manager.js:336:24)
at async fetchTransactions (/usr/local/share/.config/yarn/global/node_modules/kresus/build/server/controllers/accesses.js:209:37)
[2024-02-09T11:16:49.309] [ERROR] HTTP - POST /api/accesses/1/fetch/transactions - 500 (32399 ms)
[2024-02-09T11:16:55.114] [INFO] providers/woob - Calling woob: command version...
[2024-02-09T11:16:55.646] [INFO] providers/woob - exited with code 0.
[2024-02-09T11:16:55.646] [INFO] providers/woob - OK: woob exited normally with non-empty JSON content.
[2024-02-09T11:16:55.649] [INFO] HTTP - GET /api/instance/woob - 200 (538 ms)
```Ludovic LANGELudovic LANGEhttps://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/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/679[caissedepargne] part sociale account not properly detected when getting history2024-02-11T22:27:26ZThéo Le Calvar[caissedepargne] part sociale account not properly detected when getting historyThis 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?
`caissedepargne`
### Describe the problem you encounter
When accessing history of my `PARTS SOCIALES` account woob crashes instead of ignoring the account
### Paste here the stacktrace or error message you observe
```
Bug(caissedepargne): 400 Client Error: Bad Request
Traceback (most recent call last):
File "/tmp/woob/woob/core/bcall.py", line 88, in backend_process
result = function(backend, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/woob/woob/tools/application/base.py", line 348, in _do_complete
res = getattr(backend, function)(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/woob/modules/caissedepargne/module.py", line 84, in iter_history
return self.browser.iter_history(account)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/woob/woob/browser/switch.py", line 98, in wrapper
return val(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^
File "/tmp/woob/woob/browser/browsers.py", line 1157, in inner
return func(browser, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/woob/modules/caissedepargne/browser.py", line 1252, in iter_history
self.go_to_secondary_space('linebourse', account)
File "/tmp/woob/modules/caissedepargne/browser.py", line 1171, in go_to_secondary_space
self.prepare_rerouting.go(json=data, website_id=account._website_id)
File "/tmp/woob/woob/browser/url.py", line 193, in go
r = self.browser.location(
^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/woob/woob/browser/browsers.py", line 1071, in location
response = self.open(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/woob/woob/browser/browsers.py", line 1058, in open
return super(PagesBrowser, self).open(callback=internal_callback, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/woob/woob/browser/browsers.py", line 915, in open
return super().open(url, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/woob/woob/browser/browsers.py", line 566, in open
response = self.session.send(preq,
^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/woob/woob/browser/sessions.py", line 161, in send
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/tmp/woob/woob/browser/sessions.py", line 154, in func
return callback(self, resp)
^^^^^^^^^^^^^^^^^^^^
File "/tmp/woob/woob/browser/browsers.py", line 561, in inner_callback
self.raise_for_status(response)
File "/tmp/woob/woob/browser/browsers.py", line 626, in raise_for_status
raise ClientError(http_error_msg, response=response)
woob.browser.exceptions.ClientError: 400 Client Error: Bad Request
```
### What are the steps to reproduce the problem?
Try to get the history of my `PARTS SOCIALES` account.
### What woob version are you using?
Output of `woob config --version` command:
latest version on main branch
### What module version are you using?
Output of `woob config info MODULE_NAME` command:
```
.------------------------------------------------------------------------------.
| Module caissedepargne |
+-----------------.------------------------------------------------------------'
| Version | 202402071446
| Maintainer | Romain Bignon <romain@weboob.org>
| License | LGPLv3+
| Description | Caisse d'Épargne
| Capabilities | CapDocument, CapBankWealth, CapCredentialsCheck, CapCollection, CapBank
| Installed | yes
| Location | /tmp/woob/modules/caissedepargne
| |
| Configuration | login: Identifiant client (default: )
| | password: Mot de passe (default: )
| | nuser: User ID (optional) (default: )
| | auth_type: Type de compte (default: )
'-----------------'
```
### How did you install woob?
Cloned the main branch from gitlab and used the `./tools/local_run.sh` script.
### Additional info you'd like to mention
It looks like the test in [browser.py](https://gitlab.com/woob/woob/-/blob/master/modules/caissedepargne/browser.py?ref_type=heads#L1248) to prevent fetching history of `PARTS SOCIALES` account is not met in my case because my account label is `PARTS SOCIALES` and not `CPT PARTS SOCIALES`.
I fixed the issue locally by changing the condition to only check for `PARTS SOCIALES` in the label instead of an exact match.
```python
if account.type in (Account.TYPE_PEA, Account.TYPE_MARKET) and not account._is_cash_pea:
if 'PARTS SOCIALES' in account.label:
# TODO Investigate how to retrieve history
self.logger.warning('"CPT PARTS SOCIALES" account to investigate')
return []
self.go_to_secondary_space('linebourse', account)
history = self.linebourse.iter_history(account.id)
self.leave_linebo
```eraby-freraby-frhttps://gitlab.com/woob/woob/-/issues/361OFX FIT ID on caissedepargne recent change2024-02-09T09:15:52ZWoob ImportOFX FIT ID on caissedepargne recent changerecently (february 2020), FITID in OFX files downloaded from boobank caissedepargne changed from long string to small hexa, which leads to duplicates on some operations.
I checked original OFX files from caisse-depargne.fr, their FITID s...recently (february 2020), FITID in OFX files downloaded from boobank caissedepargne changed from long string to small hexa, which leads to duplicates on some operations.
I checked original OFX files from caisse-depargne.fr, their FITID still remains the same (
I think the change happened without weboob update (I was on 1.6), same behaviour with weboob 2.0. something may have changed on caisse-depargne.fr side ... but I don't know how boobank works internally.https://gitlab.com/woob/woob/-/issues/133qbooblyrics search fails with empty message2024-02-09T08:10:20ZWoob Importqbooblyrics search fails with empty messageI activated only one backend, paroles2chansons, searched for "love" and obtained an empty error (in a separate popup). There is no error on the console.
The result tab opens but is empty.
I found this error when testing version 1.3-1 o...I activated only one backend, paroles2chansons, searched for "love" and obtained an empty error (in a separate popup). There is no error on the console.
The result tab opens but is empty.
I found this error when testing version 1.3-1 of the Debian packaging.https://gitlab.com/woob/woob/-/issues/132qcineoob: search failure with Python type error2024-02-09T08:09:27ZWoob Importqcineoob: search failure with Python type errorI activated only one backend, allocine, searched for "love" and obtained this error (in a separate popup):
> list indices must be integers, not str
The result tab opens but is empty.
I found this error when testing version 1.3-1 of t...I activated only one backend, allocine, searched for "love" and obtained this error (in a separate popup):
> list indices must be integers, not str
The result tab opens but is empty.
I found this error when testing version 1.3-1 of the Debian packaging.https://gitlab.com/woob/woob/-/issues/126qgalleroob script is missing2024-02-09T08:08:09ZWoob Importqgalleroob script is missing`qgalleroob.desktop` advertises this script but it is missing from `scripts/`.`qgalleroob.desktop` advertises this script but it is missing from `scripts/`.https://gitlab.com/woob/woob/-/issues/216weboob-config update generates warnings2024-02-09T08:01:31ZWoob Importweboob-config update generates warnings```
weboob-config update
=== [ 0%] Getting http://updates.weboob.org/1.5/main/
=== [ 0%] Getting file:///home/leto/weboob/modules/
2019-01-28 16:50:54,394:WARNING:repository:1.5:repositories.py:304:build_index Unable to build module am...```
weboob-config update
=== [ 0%] Getting http://updates.weboob.org/1.5/main/
=== [ 0%] Getting file:///home/leto/weboob/modules/
2019-01-28 16:50:54,394:WARNING:repository:1.5:repositories.py:304:build_index Unable to build module americanexpress: [ImportError] cannot import name AccountsPage
2019-01-28 16:50:54,864:WARNING:repository:1.5:repositories.py:304:build_index Unable to build module inrocks: [ImportError] cannot import name ArticlePage
2019-01-28 16:50:54,912:WARNING:repository:1.5:repositories.py:304:build_index Unable to build module lefigaro: [ImportError] cannot import name ArticlePage
2019-01-28 16:50:54,913:WARNING:repository:1.5:repositories.py:304:build_index Unable to build module liberation: [ImportError] cannot import name ArticlePage
2019-01-28 16:50:54,954:WARNING:repository:1.5:repositories.py:304:build_index Unable to build module minutes20: [ImportError] cannot import name ArticlePage
2019-01-28 16:50:55,012:WARNING:repository:1.5:repositories.py:304:build_index Unable to build module presseurop: [ImportError] cannot import name PresseuropPage
2019-01-28 16:50:55,086:WARNING:repository:1.5:repositories.py:304:build_index Unable to build module taz: [ImportError] cannot import name ArticlePage
```
How to remove them?https://gitlab.com/woob/woob/-/issues/270RawConfigParser.readfp is deprecated2024-02-09T07:59:26ZWoob ImportRawConfigParser.readfp is deprecated2.0Woob ImportWoob Importhttps://gitlab.com/woob/woob/-/issues/676unable to load: No module named 'woob_applications' in a `pipx` install - dep...2024-02-06T19:51:35ZLudovic LANGEunable to load: No module named 'woob_applications' in a `pipx` install - dependency on setuptools ?When installing `woob` with `pipx`, the tool partially works with an error message:
```
# woob
usage: woob [--version] <command> [<args>]
Use one of this commands:
bands (unable to load: No module named 'woob_applications')...When installing `woob` with `pipx`, the tool partially works with an error message:
```
# woob
usage: woob [--version] <command> [<args>]
Use one of this commands:
bands (unable to load: No module named 'woob_applications')
bank (unable to load: No module named 'woob_applications')
...
video (unable to load: No module named 'woob_applications')
weather (unable to load: No module named 'woob_applications')
For more information about a command, use:
$ man woob-<command>
or
$ woob <command> --help
```
or
```
# woob config
Traceback (most recent call last):
File "/root/.local/share/pipx/venvs/woob/lib/python3.12/site-packages/woob/launcher.py", line 52, in load_app
app_module = importlib.import_module("woob.applications.%s" % app)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/importlib/__init__.py", line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1381, in _gcd_import
File "<frozen importlib._bootstrap>", line 1354, in _find_and_load
File "<frozen importlib._bootstrap>", line 1325, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 929, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 994, in exec_module
File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
File "/root/.local/share/pipx/venvs/woob/lib/python3.12/site-packages/woob/applications/config/__init__.py", line 19, in <module>
from .config import AppConfig
File "/root/.local/share/pipx/venvs/woob/lib/python3.12/site-packages/woob/applications/config/config.py", line 23, in <module>
from woob.tools.application.repl import ReplApplication
File "/root/.local/share/pipx/venvs/woob/lib/python3.12/site-packages/woob/tools/application/repl.py", line 33, in <module>
from woob.core import CallErrors
File "/root/.local/share/pipx/venvs/woob/lib/python3.12/site-packages/woob/core/__init__.py", line 21, in <module>
from .woob import Woob, WoobBase
File "/root/.local/share/pipx/venvs/woob/lib/python3.12/site-packages/woob/core/woob.py", line 31, in <module>
from woob.core.modules import ModulesLoader, RepositoryModulesLoader
File "/root/.local/share/pipx/venvs/woob/lib/python3.12/site-packages/woob/core/modules.py", line 26, in <module>
import pkg_resources
ModuleNotFoundError: No module named 'pkg_resources'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/root/.local/share/pipx/venvs/woob/bin/woob", line 8, in <module>
sys.exit(Launcher.run())
^^^^^^^^^^^^^^
File "/root/.local/share/pipx/venvs/woob/lib/python3.12/site-packages/woob/launcher.py", line 106, in run
return cls.run_app(sys.argv[1], sys.argv[2:])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/.local/share/pipx/venvs/woob/lib/python3.12/site-packages/woob/launcher.py", line 60, in run_app
app_class = cls.load_app(app)
^^^^^^^^^^^^^^^^^
File "/root/.local/share/pipx/venvs/woob/lib/python3.12/site-packages/woob/launcher.py", line 54, in load_app
app_module = importlib.import_module("woob_applications.%s" % app)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/importlib/__init__.py", line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1381, in _gcd_import
File "<frozen importlib._bootstrap>", line 1354, in _find_and_load
File "<frozen importlib._bootstrap>", line 1304, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
File "<frozen importlib._bootstrap>", line 1381, in _gcd_import
File "<frozen importlib._bootstrap>", line 1354, in _find_and_load
File "<frozen importlib._bootstrap>", line 1318, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'woob_applications'
```
It seems that `pkg_resources` (which can be provided by `setuptools`) is mandatory.
We should make this dependency explicit.
A working fix (except for `smtp` module) is to inject `setuptools` in the `pipx` environment:
```
# pipx install woob
# pipx inject woob setuptools
# woob
usage: woob [--version] <command> [<args>]
Use one of this commands:
bands display bands and suggestions
...
smtp (unable to load: No module named 'woob_applications')
...
video search and play videos
weather display weather and forecasts
For more information about a command, use:
$ man woob-<command>
or
$ woob <command> --help
```Ludovic LANGELudovic LANGEhttps://gitlab.com/woob/woob/-/issues/610[hsbc] when adding support for `coming` transactions, account balance is inco...2023-12-18T10:33:14ZLudovic LANGE[hsbc] when adding support for `coming` transactions, account balance is incorrect (it includes `coming` transactions) - request for commentsShort version: hsbc (the website) shows an account balance that include the sum of the coming transactions (i.e. : available balance). I'd like to split it in two : `balance` (ledger balance) and `coming` (available balance - ledger bala...Short version: hsbc (the website) shows an account balance that include the sum of the coming transactions (i.e. : available balance). I'd like to split it in two : `balance` (ledger balance) and `coming` (available balance - ledger balance).
Long version:
For the moment, `woob` does not distinguish between `coming` and non-`coming` transactions in `hsbc` module.
I would like to add support for those `coming` transactions.
Why ? I'm trying to split apart the `coming` transactions and the non-`coming` ones, because a `coming` transaction lacks details about the transaction itself (label only showing the transaction internal id, transaction type).
It's only after a transaction has been accounted for in hsbc that it gets its full label details.
e.g.:
* today is 2023-01-01, if have a transaction whose date is `2023-01-02` and label is only : `VR SEPA EMIS XXX0XXX`
* next day is 2023-01-02, the transaction date is unchanged, but the label is now : `VIREMENT SEPA EMIS YCO0 12345 COMMENT REFERENCE LABEL PAYEE`
Having a transaction that 'changes' from one day to the next one is difficult to work with - I have no way to reconcile those apart from date + amount, which is not enough - and so I want to completely get rid of those `coming` transactions.
Which looks quite easy, indeed, a raw patch looks like:
```
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
modified: modules/hsbc/browser.py
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
@ modules/hsbc/browser.py:662 @ def match_card(tr):
return history
elif self.life_insurance_useless.is_here():
return []
- elif not coming:
- return self._get_history()
else:
- raise NotImplementedError()
-
- def _get_history(self):
- for tr in self.page.get_history():
- yield tr
+ for tr in self.page.get_history():
+ if (tr._coming == coming):
+ yield tr
def get_investments(self, account, retry_li=True):
if not account.url:
```
With this, `iter_history` only returns accounted for transactions, and `iter_coming` only returns `coming` transactions.
So far, so good.
But the issue now is that the account balance is incorrect. Indeed, the account balance (as retrieved from the hsbc web site) *includes* the `coming` transactions.
I'd like to fix this, and was wondering what the best way was.
AFAIK the only "part" of the website that computes the value for us are the `ofx`, `txt` or `csv` data export which do show the correct balance (ledger balancer).
So that could be one possibility (albeit looks slow and complex).
Another approach would be, in the account retrieval, to open the history page, identify the `coming` transactions, compute the `coming` balance and substract it from the `available` balance.
What would be your recommended way ?
Notes: My hsbc account is a `new_space` one.https://gitlab.com/woob/woob/-/issues/671[boursobank] can't login into my account since last update of woob2023-12-14T22:44:48ZShikiryu[boursobank] can't login into my account since last update of woobI'm using kresus, and after an update on both kresus and woob, since 28th september 2023, I have this error:
```
Unknown error: Unhandled error message : "Les connexions utilisant des services de relais ou d'anonymisation ne sont plus p...I'm using kresus, and after an update on both kresus and woob, since 28th september 2023, I have this error:
```
Unknown error: Unhandled error message : "Les connexions utilisant des services de relais ou d'anonymisation ne sont plus possibles. Merci d'utiliser votre accès internet personnel et direct pour vous connecter à Boursobank.".
Erreur inconnue de Kresus : essayez de mettre à jour Woob, et si cela ne règle pas votre problème, merci de signaler l'erreur aux auteurs de Kresus.
Veuillez vous référer à la console développeurs pour plus d'informations.
```
I'm using woob 3.6 on master, commit 8ab313fbf473823d35858b5ba732f7c2244c28ba and Kresus 0.20.0 (if that matters)
Error stack trace:
```
Traceback (most recent call last):
File "/usr/local/share/.config/yarn/global/node_modules/kresus/build/server/providers/woob/py/main.py", line 702, in fetch
results['values'] = self.get_accounts()
^^^^^^^^^^^^^^^^^^^
File "/usr/local/share/.config/yarn/global/node_modules/kresus/build/server/providers/woob/py/main.py", line 552, in get_accounts
for account in list(self.backend.iter_accounts()):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/user/data/woob-data/modules/3.6/woob_modules/boursorama/module.py", line 69, in iter_accounts
return self.browser.get_accounts_list()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/woob/browser/retry.py", line 75, in wrapper
ret = cb()
^^^^
File "/usr/local/lib/python3.11/dist-packages/woob/browser/retry.py", line 71, in <lambda>
cb = lambda: func(browser, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/woob/browser/browsers.py", line 1118, in inner
browser.do_login()
File "/usr/local/lib/python3.11/dist-packages/woob/browser/retry.py", line 43, in wrapper
return func(browser, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/user/data/woob-data/modules/3.6/woob_modules/boursorama/browser.py", line 500, in do_login
return super(BoursoramaBrowser, self).do_login()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/woob/browser/mfa.py", line 201, in do_double_authentication
self.init_login()
File "/home/user/data/woob-data/modules/3.6/woob_modules/boursorama/browser.py", line 471, in init_login
raise AssertionError('Unhandled error message : "%s"' % error)
AssertionError: Unhandled error message : "Les connexions utilisant des services de relais ou d'anonymisation ne so
```
I already opened [an issue on kresus' repo](https://framagit.org/kresusapp/kresus/-/issues/1241) but it seems to come from a security update on BoursoBank's side which impacts woob.https://gitlab.com/woob/woob/-/issues/622[Boursorama] Compte a terme CAT2023-12-10T06:06:11ZPaul Hochon[Boursorama] Compte a terme CATHello,
I'm using version 3.4.
Boursorama as introduced a new account named CAT and it's seems there is an issue when retrieving this account
```
2023-03-15 07:50:04,354:DEBUG:urllib3.connectionpool:3.4:connectionpool.py:428:_make_reque...Hello,
I'm using version 3.4.
Boursorama as introduced a new account named CAT and it's seems there is an issue when retrieving this account
```
2023-03-15 07:50:04,354:DEBUG:urllib3.connectionpool:3.4:connectionpool.py:428:_make_request https://clients.boursorama.com:443 "GET /compte/epargne/cat/c4bd7378e34c0594446933515509feba/ HTTP/1.1" 200 None
2023-03-15 07:50:04,357:DEBUG:woob.backend.boursorama.browser:3.4:browsers.py:832:internal_callback Unable to handle https://clients.boursorama.com/compte/epargne/cat**/c4bd7378e34c0594446933515509feba/
2023-03-15 07:50:04,358:DEBUG:woob.core.bcall:3.4:bcall.py:92:backend_process <Backend 'boursorama'>: Called function <bound method Application._do_complete of <woob.applications.bank.bank.Appbank object at 0x7f5e56eef100>> raised an error: AttributeError("'NoneType' object has no attribute 'fill_account'")
Bug(boursorama): 'NoneType' object has no attribute 'fill_account'
(If --auto-update is passed on the command-line, new versions of the module will be checked automatically)
Traceback (most recent call last):
File "/home/jpm/.local/lib/python3.8/site-packages/woob/core/bcall.py", line 88, in backend_process
result = function(backend, *args, **kwargs)
File "/home/jpm/.local/lib/python3.8/site-packages/woob/tools/application/base.py", line 347, in _do_complete
res = getattr(backend, function)(*args, **kwargs)
File "/home/jpm/.local/share/woob/modules/3.4/woob_modules/boursorama/module.py", line 188, in iter_resources
return self.iter_accounts()
File "/home/jpm/.local/share/woob/modules/3.4/woob_modules/boursorama/module.py", line 68, in iter_accounts
return self.browser.get_accounts_list()
File "/home/jpm/.local/lib/python3.8/site-packages/woob/browser/retry.py", line 75, in wrapper
ret = cb()
File "/home/jpm/.local/lib/python3.8/site-packages/woob/browser/retry.py", line 71, in <lambda>
cb = lambda: func(browser, *args, **kwargs)
File "/home/jpm/.local/lib/python3.8/site-packages/woob/browser/browsers.py", line 922, in inner
return func(browser, *args, **kwargs)
File "/home/jpm/.local/share/woob/modules/3.4/woob_modules/boursorama/browser.py", line 542, in get_accounts_list
accounts_list.extend(self.get_filled_accounts())
File "/home/jpm/.local/share/woob/modules/3.4/woob_modules/boursorama/browser.py", line 645, in get_filled_accounts
self.page.fill_account(obj=account)
AttributeError: 'NoneType' object has no attribute 'fill_account'
```
Thank you for your kind supporthttps://gitlab.com/woob/woob/-/issues/458[boobank][boursorama] Can no longer download history2023-12-09T23:04:20ZWoob Import[boobank][boursorama] Can no longer download history### With which module do you encounter problems?
Boobank / boursorama
### Describe the problem you encounter
Downloading the history via skrooge stopped working
### What are the steps to reproduce the problem?
```
a="2020-12-27" && b=...### With which module do you encounter problems?
Boobank / boursorama
### Describe the problem you encounter
Downloading the history via skrooge stopped working
### What are the steps to reproduce the problem?
```
a="2020-12-27" && b="" && m=$( [[ ${a} > ${b} ]] && echo "$a" || echo "$b" ) && PYTHONIOENCODING=utf_8 boobank -q -f csv history "BOURSORAMA BANQUE" -s date,rdate,type,raw,label,amount --condition "rdate>$m OR date>$m OR rdate>$m 00:00:00 OR date>$m 00:00:00" -n 99999
```
Note: replace "BOURSORAMA BANQUE" with the account name
### What weboob version are you using?
Output of `weboob-config --version` command:
```
weboob-config v2.0 Copyright(C) 2010-2021 Christophe Benz, Romain Bignon
```
### What module version are you using?
Output of `weboob-config info MODULE_NAME` command:
```
.------------------------------------------------------------------------------.
| Module boursorama |
+-----------------.------------------------------------------------------------'
| Version | 202101091604
| Maintainer | Gabriel Kerneis <gabriel@kerneis.info>
| License | LGPLv3+
| Description | Boursorama
| Capabilities | CapBankTransfer, CapCollection, CapBank, CapContact, CapBankTransferAddRecipient, CapProfile, CapBankWealth, CapCurrencyRate
| Installed | yes
| Location | http://updates.weboob.org/2.0/main/boursorama.tar.gz
| |
| Configuration | login: Identifiant (default: )
| | password: Mot de passe (default: )
| | pin_code: None
| | request_information: None
'-----------------'
```
### How did you install weboob?
Pacman
### Additional info you'd like to mentionhttps://gitlab.com/woob/woob/-/issues/632[boursorama] history fetch only the first page2023-12-09T22:49:04ZOlivier Boudet[boursorama] history fetch only the first page
### With which module do you encounter problems?
Boursorama
### Describe the problem you encounter
The `history` command could not fetch more operations than those listed on the first page. It seems pagination is not working anymore....
### With which module do you encounter problems?
Boursorama
### Describe the problem you encounter
The `history` command could not fetch more operations than those listed on the first page. It seems pagination is not working anymore.
For example, this command fetch only 22 operations : `woob bank history -n 1000 00000000000@boursorama`
### Paste here the stacktrace or error message you observe
No error
### What are the steps to reproduce the problem?
Run `woob bank history -n 1000 00000000000@boursorama`
### What woob version are you using?
Output of `woob config --version` command:
```
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:
```
.------------------------------------------------------------------------------.
| Module boursorama |
+-----------------.------------------------------------------------------------'
| Version | 202304111438
| Maintainer | Gabriel Kerneis <gabriel@kerneis.info>
| License | LGPLv3+
| Description | Boursorama
| Capabilities | CapTransfer, CapCollection, CapBankTransferAddRecipient, CapBankWealth, CapCredentialsCheck, CapBankTransfer, CapCurrencyRate, CapContact, CapBank, CapDocument, CapProfile
| Installed | yes
| Location | https://updates.weboob.org/3/main/boursorama.tar.gz
| |
| Configuration | login: Identifiant (default: )
| | password: Mot de passe (default: )
'-----------------'
```
### How did you install woob?
pipx in virtualenv
### Additional info you'd like to mentionhttps://gitlab.com/woob/woob/-/issues/670[creditcooperatif] RegexpError on `list` command2023-12-09T12:10:39ZAeris1One[creditcooperatif] RegexpError on `list` commandThis 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?
Bank -> Credit Coopératif
### Describe the problem you encounter
Listing accounts does not work.
### Paste here the stacktrace or error message you observe
```
bank> list
Account Balance Coming
------------------------------------------+----------+----------
2023-12-09 12:48:48,592:DEBUG:woob.core.bcall:3.6:bcall.py:86:backend_process <Backend creditcooperatif>: Calling function <bound method Application._do_complete of <woob.applications.bank.bank.Appbank object at 0x7fed45129880>>
2023-12-09 12:48:48,638:DEBUG:urllib3.connectionpool:3.6:connectionpool.py:546:_make_request https://www.credit-cooperatif.coop:443 "GET /se-connecter/sso?service=dei HTTP/1.1" 200 1652
2023-12-09 12:48:48,669:DEBUG:woob.backend.creditcooperatif.browser:3.6:browsers.py:1004:internal_callback Handle https://www.credit-cooperatif.coop/se-connecter/sso?service=dei with LoginPage
2023-12-09 12:48:48,693:DEBUG:urllib3.connectionpool:3.6:connectionpool.py:546:_make_request https://www.credit-cooperatif.coop:443 "GET /se-connecter/main.95a7c3d1be088d08.js HTTP/1.1" 200 None
2023-12-09 12:48:48,811:DEBUG:woob.backend.creditcooperatif.browser:3.6:browsers.py:1004:internal_callback Handle https://www.credit-cooperatif.coop/se-connecter/main.95a7c3d1be088d08.js with JsFilePage
2023-12-09 12:48:48,813:DEBUG:charset_normalizer:3.6:api.py:439:from_bytes Encoding detection: ascii is most likely the one.
2023-12-09 12:48:48,819:DEBUG:woob.core.bcall:3.6:bcall.py:92:backend_process <Backend creditcooperatif>: Called function <bound method Application._do_complete of <woob.applications.bank.bank.Appbank object at 0x7fed45129880>> raised an error: RegexpError('Unable to find 1st e.CE="(\\d+)" in \'(self.webpackChunkaccessecurite=self.webpackChunkaccessecurite||[]).push([[179],{3181:(Ne,ie,o)=>{"use strict";o.d(ie,{L:()=>t});var t=(()=>{return(e=t||(t={}))[e.LEVEL_0=0]="LEVEL_0",e[e.LEVEL_1=1]="LEVEL_1",e[e.LEVEL_2=2]="LEVEL_2",e[e.LEVEL_3=3]="LEVEL_3",t;var e})()},7774:(Ne,ie,o)=>{"use strict";o.d(ie,{D:()=>t});var t=(()=>{return(e=t||(t={}))[e.CODE_101=101]="CODE_101",e[e.CODE_102=102]="CODE_102",e[e.CODE_103=103]="CODE_103",e[e.CODE_104=104]="CODE_104",e[e.CODE_105=105]="CODE_105",e[e.CODE_201=201]="CODE_201",t;var e})()},5312:(Ne,ie,o)=>{"use strict";o.d(ie,{s:()=>t});class t extends Error{constructor(a,m,u,d){super(a),this.code=m,this.location=u,this.cause=d??""}}},2188:(Ne,ie,o)=>{"use strict";o.d(ie,{E_:()=>Hi,BQ:()=>xi,xr:()=>fi,fZ:()=>gi,R1:()=>_r,W0:()=>It,sl:()=>In,nI:()=>Dn,Jn:()=>je,og:()=>Xn,rn:()=>Te,JX:()=>di});var t={};o.r(t),o.d(t,{DatalayerServiceType:()=>lt});var e=(()=>{return(He=e||(e={})).CANT_READ_VALUE="90",He.WRONG_TYPE="91",He.ALREADY_EXISTS="92",He.GUARD_ERROR="93",He.NOT_...\'')
Bug(creditcooperatif): Unable to find 1st e.CE="(\d+)" in '(self.webpackChunkaccessecurite=self.webpackChunkaccessecurite||[]).push([[179],{3181:(Ne,ie,o)=>{"use strict";o.d(ie,{L:()=>t});var t=(()=>{return(e=t||(t={}))[e.LEVEL_0=0]="LEVEL_0",e[e.LEVEL_1=1]="LEVEL_1",e[e.LEVEL_2=2]="LEVEL_2",e[e.LEVEL_3=3]="LEVEL_3",t;var e})()},7774:(Ne,ie,o)=>{"use strict";o.d(ie,{D:()=>t});var t=(()=>{return(e=t||(t={}))[e.CODE_101=101]="CODE_101",e[e.CODE_102=102]="CODE_102",e[e.CODE_103=103]="CODE_103",e[e.CODE_104=104]="CODE_104",e[e.CODE_105=105]="CODE_105",e[e.CODE_201=201]="CODE_201",t;var e})()},5312:(Ne,ie,o)=>{"use strict";o.d(ie,{s:()=>t});class t extends Error{constructor(a,m,u,d){super(a),this.code=m,this.location=u,this.cause=d??""}}},2188:(Ne,ie,o)=>{"use strict";o.d(ie,{E_:()=>Hi,BQ:()=>xi,xr:()=>fi,fZ:()=>gi,R1:()=>_r,W0:()=>It,sl:()=>In,nI:()=>Dn,Jn:()=>je,og:()=>Xn,rn:()=>Te,JX:()=>di});var t={};o.r(t),o.d(t,{DatalayerServiceType:()=>lt});var e=(()=>{return(He=e||(e={})).CANT_READ_VALUE="90",He.WRONG_TYPE="91",He.ALREADY_EXISTS="92",He.GUARD_ERROR="93",He.NOT_...'
(If --auto-update is passed on the command-line, new versions of the module will be checked automatically)
Traceback (most recent call last):
File "/var/home/charlesp/Documents/woob/venv/lib64/python3.12/site-packages/woob/core/bcall.py", line 88, in backend_process
result = function(backend, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/home/charlesp/Documents/woob/venv/lib64/python3.12/site-packages/woob/tools/application/base.py", line 348, in _do_complete
res = getattr(backend, function)(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/home/charlesp/.local/share/woob/modules/3.6/woob_modules/caissedepargne/module.py", line 74, in iter_resources
return self.iter_accounts()
^^^^^^^^^^^^^^^^^^^^
File "/var/home/charlesp/.local/share/woob/modules/3.6/woob_modules/caissedepargne/module.py", line 81, in iter_accounts
return self.browser.iter_accounts()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/home/charlesp/Documents/woob/venv/lib64/python3.12/site-packages/woob/browser/switch.py", line 98, in wrapper
return val(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^
File "/var/home/charlesp/Documents/woob/venv/lib64/python3.12/site-packages/woob/browser/browsers.py", line 1118, in inner
browser.do_login()
File "/var/home/charlesp/Documents/woob/venv/lib64/python3.12/site-packages/woob/browser/mfa.py", line 201, in do_double_authentication
self.init_login()
File "/var/home/charlesp/.local/share/woob/modules/3.6/woob_modules/caissedepargne/browser.py", line 201, in init_login
self.do_api_pre_login()
File "/var/home/charlesp/.local/share/woob/modules/3.6/woob_modules/caissedepargne/browser.py", line 227, in do_api_pre_login
self.snid = self.page.get_snid()
^^^^^^^^^^^^^^^^^^^^
File "/var/home/charlesp/.local/share/woob/modules/3.6/woob_modules/caissedepargne/pages.py", line 105, in get_snid
return Regexp(pattern=r'e.CE="(\d+)"').filter(self.text)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/home/charlesp/Documents/woob/venv/lib64/python3.12/site-packages/woob/browser/filters/base.py", line 136, in wrapper
res = function(self, value)
^^^^^^^^^^^^^^^^^^^^^
File "/var/home/charlesp/Documents/woob/venv/lib64/python3.12/site-packages/woob/browser/filters/standard.py", line 646, in filter
return self.default_or_raise(RegexpError(msg))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/var/home/charlesp/Documents/woob/venv/lib64/python3.12/site-packages/woob/browser/filters/base.py", line 71, in default_or_raise
raise exception
woob.browser.filters.standard.RegexpError: Unable to find 1st e.CE="(\d+)" in '(self.webpackChunkaccessecurite=self.webpackChunkaccessecurite||[]).push([[179],{3181:(Ne,ie,o)=>{"use strict";o.d(ie,{L:()=>t});var t=(()=>{return(e=t||(t={}))[e.LEVEL_0=0]="LEVEL_0",e[e.LEVEL_1=1]="LEVEL_1",e[e.LEVEL_2=2]="LEVEL_2",e[e.LEVEL_3=3]="LEVEL_3",t;var e})()},7774:(Ne,ie,o)=>{"use strict";o.d(ie,{D:()=>t});var t=(()=>{return(e=t||(t={}))[e.CODE_101=101]="CODE_101",e[e.CODE_102=102]="CODE_102",e[e.CODE_103=103]="CODE_103",e[e.CODE_104=104]="CODE_104",e[e.CODE_105=105]="CODE_105",e[e.CODE_201=201]="CODE_201",t;var e})()},5312:(Ne,ie,o)=>{"use strict";o.d(ie,{s:()=>t});class t extends Error{constructor(a,m,u,d){super(a),this.code=m,this.location=u,this.cause=d??""}}},2188:(Ne,ie,o)=>{"use strict";o.d(ie,{E_:()=>Hi,BQ:()=>xi,xr:()=>fi,fZ:()=>gi,R1:()=>_r,W0:()=>It,sl:()=>In,nI:()=>Dn,Jn:()=>je,og:()=>Xn,rn:()=>Te,JX:()=>di});var t={};o.r(t),o.d(t,{DatalayerServiceType:()=>lt});var e=(()=>{return(He=e||(e={})).CANT_READ_VALUE="90",He.WRONG_TYPE="91",He.ALREADY_EXISTS="92",He.GUARD_ERROR="93",He.NOT_...'
------------------------------------------+----------+----------
```
### What are the steps to reproduce the problem?
- Fresh Woob install
- `woob bank`
- Configure Credit Cooperatif account
- Use `logging debug`
- Use `list` command
- See the stacktrace above
### What woob version are you using?
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 creditcooperatif |
+-----------------.------------------------------------------------------------'
| Version | 202308251212
| Maintainer | Kevin Pouget <weboob@kevin.pouget.me>
| License | LGPLv3+
| Description | Crédit Coopératif
| Capabilities | CapTransfer, CapProfile, CapDocument, CapCollection, CapBankTransferAddRecipient, CapBankTransfer, CapBank, CapCredentialsCheck, CapBankWealth
| Installed | yes
| Location | https://updates.woob.tech/3/main/creditcooperatif.tar.gz
| |
| Configuration | login: Identifiant client (default: )
| | password: Mot de passe (default: )
| | nuser: User ID (optional) (default: )
| | auth_type: Type de compte (default: )
'-----------------'
```
### How did you install woob?
pip
### Additional info you'd like to mention
`auth_type = part`, might be of importancehttps://gitlab.com/woob/woob/-/issues/665Unable to use the module sources for dev2023-11-26T18:11:00ZPaul MOUGETUnable to use the module sources for devHi,
I tried to use to woob source instead of the stable as described in this article:
https://woob.dev/guides/install/#repositories-setup
I created a new virtual env, export the path, install pip from source, changed the file /home/u...Hi,
I tried to use to woob source instead of the stable as described in this article:
https://woob.dev/guides/install/#repositories-setup
I created a new virtual env, export the path, install pip from source, changed the file /home/user/.config/woob/sources.list with the content
file:///home/user/PycharmProjects/woob/modules
Successfully build the indeed module (the one I want to work on), at least it did not appear in the one who failed..
But still, when I want to work on the project, python still use the stable file stored in /home/user/.local/share/woob/modules/3.6/woob_modules/indeed
I feel like I destroyed my woob version, I can still use woob job ... but I got an error while doing woob update or woob config...
https://pastebin.com/MH6tvBEb
Can you help me with that, it make the dev so much harder!
See full ouput here:
https://pastebin.com/dVN90KEm
BRhttps://gitlab.com/woob/woob/-/issues/663[creditmutuel] AttributeError: 'NoneType' object has no attribute 'doc'2023-11-24T14:22:32Zroumano[creditmutuel] AttributeError: 'NoneType' object has no attribute 'doc'The application creditmutuel is not working anymore today
```
bank> logging debug
bank> list
2023-11-13 17:33:43,351:DEBUG:woob.core.bcall:3.6:bcall.py:86:backend_process <Backend creditmutuel>: Calling function <bound method Applicatio...The application creditmutuel is not working anymore today
```
bank> logging debug
bank> list
2023-11-13 17:33:43,351:DEBUG:woob.core.bcall:3.6:bcall.py:86:backend_process <Backend creditmutuel>: Calling function <bound method Application._do_complete of <woob.applications.bank.bank.Appbank object at 0x7fb047d3a0>>
2023-11-13 17:33:43,353:DEBUG:woob.core.bcall:3.6:bcall.py:95:backend_process <Backend creditmutuel>: Called function <bound method Application._do_complete of <woob.applications.bank.bank.Appbank object at 0x7fb047d3a0>> returned: <generator object Application._do_complete_iter at 0x7fae54b510>
2023-11-13 17:33:43,359:DEBUG:urllib3.connectionpool:3.6:connectionpool.py:272:_get_conn Resetting dropped connection: www.creditmutuel.fr
2023-11-13 17:33:44,045:DEBUG:urllib3.connectionpool:3.6:connectionpool.py:452:_make_request https://www.creditmutuel.fr:443 "GET /fr/banque/comptes-et-contrats.html HTTP/1.1" 200 None
2023-11-13 17:33:44,111:DEBUG:woob.backend.creditmutuel.browser:3.6:browsers.py:1040:internal_callback Handle https://www.creditmutuel.fr/fr/banque/comptes-et-contrats.html with NewAccountsPage
2023-11-13 17:33:44,719:DEBUG:urllib3.connectionpool:3.6:connectionpool.py:452:_make_request https://www.creditmutuel.fr:443 "GET /fr/banque/SCIM_default.aspx?_tabi=C&_stack=SCIM_ListeActivityStep%3A%3A&_pid=ListeCartes&_fid=ChangeList&Data_ServiceListDatas_CurrentType=MyCards HTTP/1.1" 200 None
2023-11-13 17:33:44,762:DEBUG:woob.backend.creditmutuel.browser:3.6:browsers.py:1040:internal_callback Handle https://www.creditmutuel.fr/fr/banque/SCIM_default.aspx?_tabi=C&_stack=SCIM_ListeActivityStep%3A%3A&_pid=ListeCartes&_fid=ChangeList&Data_ServiceListDatas_CurrentType=MyCards with NewCardsListPage
2023-11-13 17:33:45,161:DEBUG:urllib3.connectionpool:3.6:connectionpool.py:452:_make_request https://www.creditmutuel.fr:443 "POST /fr/banque/SCIM_default.aspx?_tabi=C&_stack=SCIM_ListeActivityStep%3A%3Assid%3D%2Cta%3DSCIM_Liste%2Csvcd%3D%2Cfsv%3DV2%2Cscp%3D&_pid=ListeCartes HTTP/1.1" 302 0
2023-11-13 17:33:45,686:DEBUG:urllib3.connectionpool:3.6:connectionpool.py:452:_make_request https://www.creditmutuel.fr:443 "GET /fr/banque/PCS5_FUNCTIONS.aspx?_charset=utf-8&_tabi=C&mnc=IDLIEN_PCS5_FUNCTIONS&aid=SCIM_Fonction&mncret=PCS1_LIST&itaret=as%3DSCIM_ListeActivityStep%253a%253assid%253d%252cta%253dSCIM_Liste%252csvcd%253d%252cfsv%253dV2%252cscp%253d%252fSCIM_ListeRouter%253a%253a%26%2524tabiret%3DC&ssid=Fpzqzcs2J0iGNnRMcyLfYQ%3D%3DMTAuNDYuNC4xNDA6ODAwMw%3D%3D&ta=SCIM_Fonction&svcd=MyCards~1~False~0~0~1400006154749~0&fsv=V2&scp= HTTP/1.1" 200 None
2023-11-13 17:33:45,709:DEBUG:woob.backend.creditmutuel.browser:3.6:browsers.py:1054:internal_callback Unable to handle https://www.creditmutuel.fr/fr/banque/PCS5_FUNCTIONS.aspx?_charset=utf-8&_tabi=C&mnc=IDLIEN_PCS5_FUNCTIONS&aid=SCIM_Fonction&mncret=PCS1_LIST&itaret=as%3dSCIM_ListeActivityStep%253a%253assid%253d%252cta%253dSCIM_Liste%252csvcd%253d%252cfsv%253dV2%252cscp%253d%252fSCIM_ListeRouter%253a%253a%26%2524tabiret%3dC&ssid=Fpzqzcs2J0iGNnRMcyLfYQ%3d%3dMTAuNDYuNC4xNDA6ODAwMw%3d%3d&ta=SCIM_Fonction&svcd=MyCards~1~False~0~0~1400006154749~0&fsv=V2&scp=
Bug(creditmutuel): 'NoneType' object has no attribute 'doc'
(If --auto-update is passed on the command-line, new versions of the module will be checked automatically)
Traceback (most recent call last):
File "/data/woob/.local/lib/python3.9/site-packages/woob/core/bcall.py", line 100, in backend_process
for subresult in result:
File "/data/woob/.local/lib/python3.9/site-packages/woob/tools/application/base.py", line 327, in _do_complete_iter
for i, sub in enumerate(res):
File "/data/woob/.local/share/woob/modules/3.6/woob_modules/creditmutuel/module.py", line 72, in iter_accounts
for account in self.browser.get_accounts_list():
File "/data/woob/.local/lib/python3.9/site-packages/woob/browser/browsers.py", line 1157, in inner
return func(browser, *args, **kwargs)
File "/data/woob/.local/share/woob/modules/3.6/woob_modules/creditmutuel/browser.py", line 704, in get_accounts_list
for acc in self.page.iter_accounts():
File "/data/woob/.local/lib/python3.9/site-packages/woob/browser/pages.py", line 84, in inner
for r in func(page, *args, **kwargs):
File "/data/woob/.local/lib/python3.9/site-packages/woob/browser/elements.py", line 281, in __iter__
for obj in item:
File "/data/woob/.local/lib/python3.9/site-packages/woob/browser/elements.py", line 467, in __iter__
self.parse(self.el)
File "/data/woob/.local/share/woob/modules/3.6/woob_modules/creditmutuel/pages.py", line 3378, in parse
doc = self.page.browser.open(card_type_request).page.doc
AttributeError: 'NoneType' object has no attribute 'doc'
```
I use the lastest woob version :
```
woob config --version
Woob config v3.6 Copyright(C) 2010-2023 Christophe Benz, Romain Bignon
```
and i update to lastet Module creditmutuel :
```
.------------------------------------------------------------------------------.
| Module creditmutuel |
+-----------------.------------------------------------------------------------'
| Version | 202310191405
| Maintainer | Julien Veyssier <julien.veyssier@aiur.fr>
| License | LGPLv3+
| Description | Crédit Mutuel
| Capabilities | CapBankWealth, CapBank, CapBankTransferAddRecipient, CapCollection, CapBankTransfer, CapTransfer, CapDocument, CapProfile, CapBankMatching, CapContact, CapCredentialsCheck
| Installed | yes
| Location | https://updates.woob.tech/3/main/creditmutuel.tar.gz
| |
| Configuration | login: Identifiant (default: )
| | password: Mot de passe (default: )
'-----------------'
```
And be sure, i've deleted my credentiel in woob and create it (with a new confirmation code from sms )3.7