Migration vers PosgreSQL : Unexpected UTF-8 BOM

Bonsoir,
je viens de migrer sur postgreSQL et j’ai rencontré cette erreur lors de la récupération des transaction de ma banque HelloBanque.

[2020-02-02T21:49:36.642] [ERROR] sources/weboob - (error code: GENERIC_EXCEPTION)
[2020-02-02T21:49:36.756] [ERROR] helpers - when fetching operations: Unknown error: Unexpected UTF-8 BOM (decode using utf-8-sig): line 1 column 1 (char 0).
Traceback (most recent call last):
File « /home/kresus/app_20200202/build/server/weboob/main.py », line 678, in fetch
results[‹ values ›] = self.get_operations(from_date)
File « /home/kresus/app_20200202/build/server/weboob/main.py », line 561, in get_operations
for account in list(self.backend.iter_accounts()):
File « /home/kresus/.kresus/weboob-data/modules/1.6/bnporc/module.py », line 97, in iter_accounts
return self.browser.iter_accounts()
File « /home/kresus/.local/lib/python3.5/site-packages/weboob-1.6-py3.5.egg/weboob/browser/browsers.py », line 817, in inner
browser.do_login()
File « /home/kresus/.kresus/weboob-data/modules/1.6/bnporc/pp/browser.py », line 159, in do_login
self.page.login(self.username, self.password)
File « /home/kresus/.kresus/weboob-data/modules/1.6/bnporc/pp/pages.py », line 254, in login
response = self.browser.location(target, data={‹ AUTH ›: auth, ‹ CSRF ›: csrf})
File « /home/kresus/.local/lib/python3.5/site-packages/weboob-1.6-py3.5.egg/weboob/browser/browsers.py », line 755, in location
self.page.on_load()
File « /home/kresus/.kresus/weboob-data/modules/1.6/bnporc/pp/pages.py », line 215, in on_load
error_page = self.browser.list_error_page.open()
File « /home/kresus/.local/lib/python3.5/site-packages/weboob-1.6-py3.5.egg/weboob/browser/url.py », line 113, in open
r = self.browser.open(self.build(**kwargs), params=params, data=data, method=method, headers=headers or {}, is_async=is_async, callback=callback)
File « /home/kresus/.local/lib/python3.5/site-packages/weboob-1.6-py3.5.egg/weboob/tools/decorators.py », line 38, in f_retry
return f(*args, **kwargs)
File « /home/kresus/.kresus/weboob-data/modules/1.6/bnporc/pp/browser.py », line 151, in open
return super(BNPParibasBrowser, self).open(*args, **kwargs)
File « /home/kresus/.kresus/weboob-data/modules/1.6/bnporc/pp/browser.py », line 75, in open
return super(JsonBrowserMixin, self).open(*args, **kwargs)
File « /home/kresus/.local/lib/python3.5/site-packages/weboob-1.6-py3.5.egg/weboob/browser/browsers.py », line 734, in open
return super(PagesBrowser, self).open(callback=internal_callback, *args, **kwargs)
File « /home/kresus/.local/lib/python3.5/site-packages/weboob-1.6-py3.5.egg/weboob/browser/browsers.py », line 626, in open
return super(DomainBrowser, self).open(req, *args, **kwargs)
File « /home/kresus/.local/lib/python3.5/site-packages/weboob-1.6-py3.5.egg/weboob/browser/browsers.py », line 378, in open
is_async=is_async)
File « /home/kresus/.local/lib/python3.5/site-packages/weboob-1.6-py3.5.egg/weboob/browser/sessions.py », line 162, in send
return func(*args, **kwargs)
File « /home/kresus/.local/lib/python3.5/site-packages/weboob-1.6-py3.5.egg/weboob/browser/sessions.py », line 155, in func
return callback(self, resp)
File « /home/kresus/.local/lib/python3.5/site-packages/weboob-1.6-py3.5.egg/weboob/browser/browsers.py », line 367, in inner_callback
return callback(response)
File « /home/kresus/.local/lib/python3.5/site-packages/weboob-1.6-py3.5.egg/weboob/browser/browsers.py », line 714, in internal_callback
response.page = url.handle(response)
File « /home/kresus/.local/lib/python3.5/site-packages/weboob-1.6-py3.5.egg/weboob/browser/url.py », line 184, in handle
page = self.klass(self.browser, response, m.groupdict())
File « /home/kresus/.local/lib/python3.5/site-packages/weboob-1.6-py3.5.egg/weboob/browser/pages.py », line 157, in init
self.doc = self.build_doc(self.data)
File « /home/kresus/.local/lib/python3.5/site-packages/weboob-1.6-py3.5.egg/weboob/browser/pages.py », line 464, in build_doc
return json.loads(text)
File « /usr/lib/python3.5/json/init.py », line 315, in loads
s, 0)
json.decoder.JSONDecodeError: Unexpected UTF-8 BOM (decode using utf-8-sig): line 1 column 1 (char 0)

J’ai la dernière version de weboob (1.6) et même en mettant mes modules à jour, j’ai toujours cette erreur.

J’ai un autre compte BNP Paribas et je n’ai pas cette erreur.

Est ce que cela viendrais de la migration ? lors d’un premier essai j’ai une cette erreur

[2020-02-02T19:21:46.792] [ERROR] init - Error at initialization:
Message: database « kresus_db » does not exist
error: database « kresus_db » does not exist

Et j’ai créé une base vide vec les paramètre par défaut :

Merci poour votre aide

Bonjour @Olivier !

Je doute personnellement que les deux erreurs soient liées.
Est-il possible d’avoir les logs qui suivent error: database « kresus_db » does not exist pour voir comment se comporte l’app par la suite ?
Tu avais bien créé la base avant de lancer Kresus donc (désolé si la question peut paraître bête) ?

Bonsoir @nicofrand,

voici les logs:
1ère tentative sans créer la base, juste en indiquant le nom de la base, du user et l’adresse du serveur BDD dans le config.ini

[2020-02-02T19:21:46.792] [ERROR] init - Error at initialization:
Message: database « kresus_db » does not exist
error: database « kresus_db » does not exist
at Connection.parseE (/home/kresus/app_20200202/node_modules/pg/lib/connection.js:604:13)
at Connection.parseMessage (/home/kresus/app_20200202/node_modules/pg/lib/connection.js:403:19)
at Socket. (/home/kresus/app_20200202/node_modules/pg/lib/connection.js:123:22)
at Socket.emit (events.js:198:13)
at addChunk (_stream_readable.js:288:12)
at readableAddChunk (_stream_readable.js:269:11)
at Socket.Readable.push (_stream_readable.js:224:10)
at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
[2020-02-02T19:24:31.484] [INFO] HTTP - GET / - 200 (51 ms)
[2020-02-02T19:24:31.554] [INFO] HTTP - GET /main.css - 200 (20 ms)
[2020-02-02T19:24:31.586] [INFO] HTTP - GET /main.js - 200 (47 ms)
[2020-02-02T19:24:31.900] [INFO] HTTP - GET /themes.json - 200 (8 ms)
[2020-02-02T19:24:31.913] [ERROR] helpers - when loading all data: No repository for « Account » was found. Looks like this entity is not registered in current « default » connection?
[2020-02-02T19:24:31.916] [INFO] helpers - RepositoryNotFoundError: No repository for « Account » was found. Looks like this entity is not registered in current « default » connection?
at new RepositoryNotFoundError (/home/kresus/app_20200202/node_modules/typeorm/error/RepositoryNotFoundError.js:11:28)
at EntityManager.getRepository (/home/kresus/app_20200202/node_modules/typeorm/entity-manager/EntityManager.js:555:19)
at Connection.getRepository (/home/kresus/app_20200202/node_modules/typeorm/connection/Connection.js:343:29)
at Object.getRepository (/home/kresus/app_20200202/node_modules/typeorm/index.js:280:55)
at repo (/home/kresus/app_20200202/build/server/models/entities/accounts.js:186:26)
at Function.all (/home/kresus/app_20200202/build/server/models/entities/accounts.js:87:22)
at getAllData (/home/kresus/app_20200202/build/server/controllers/v1/all.js:33:45)
at all (/home/kresus/app_20200202/build/server/controllers/v1/all.js:70:25)
at Layer.handle [as handle_request] (/home/kresus/app_20200202/node_modules/express/lib/router/layer.js:95:5)
at next (/home/kresus/app_20200202/node_modules/express/lib/router/route.js:137:13)
[2020-02-02T19:24:31.934] [ERROR] HTTP - GET /api/v1/all/ - 500 (37 ms)
[2020-02-02T19:24:31.947] [INFO] HTTP - GET /favicon/favicon-192x192.png - 200 (3 ms)
[2020-02-02T19:30:57.299] [INFO] apply-config - Running Kresus with the following parameters:
[2020-02-02T19:30:57.310] [INFO] apply-config - NODE_ENV = production
[2020-02-02T19:30:57.311] [INFO] apply-config - KRESUS_LOGIN = user


une 2e tentative ou j’ai du avoir la même erreur :

[2020-02-02T19:30:57.329] [INFO] apply-config - KRESUS_DB_USERNAME = kresus_db
[2020-02-02T19:30:57.330] [INFO] apply-config - KRESUS_DB_PASSWORD = (hidden)
[2020-02-02T19:30:57.330] [INFO] apply-config - KRESUS_DB_NAME = kresus_db
[2020-02-02T19:30:58.647] [WARN] notifications - Notification module is NYI.
[2020-02-02T19:30:59.044] [ERROR] init - Error at initialization:
Message: database « kresus_db » does not exist
error: database « kresus_db » does not exist
at Connection.parseE (/home/kresus/app_20200202/node_modules/pg/lib/connection.js:604:13)
at Connection.parseMessage (/home/kresus/app_20200202/node_modules/pg/lib/connection.js:403:19)
at Socket. (/home/kresus/app_20200202/node_modules/pg/lib/connection.js:123:22)
at Socket.emit (events.js:198:13)
at addChunk (_stream_readable.js:288:12)
at readableAddChunk (_stream_readable.js:269:11)
at Socket.Readable.push (_stream_readable.js:224:10)
at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
[2020-02-02T19:34:19.944] [INFO] apply-config - Running Kresus with the following parameters:
[2020-02-02T19:34:19.954] [INFO] apply-config - NODE_ENV = production
[2020-02-02T19:34:19.955] [INFO] apply-config - KRESUS_LOGIN = user


et la dernière tentative après avoir créé une base vide. J’ai caviardé certaines infos de log sur mes comptes.
J’ai d’autres erreurs sur d’autres moduels (Banque Postal et Amex) mais pour moi ce n’est pas la priorité. C’est le module Hello Bank qui est pour moi prio.

[2020-02-02T19:34:19.973] [INFO] apply-config - KRESUS_DB_USERNAME = kresus_db
[2020-02-02T19:34:19.974] [INFO] apply-config - KRESUS_DB_PASSWORD = (hidden)
[2020-02-02T19:34:19.975] [INFO] apply-config - KRESUS_DB_NAME = kresus_db
[2020-02-02T19:34:21.288] [WARN] notifications - Notification module is NYI.
[2020-02-02T19:34:23.896] [INFO] models/index - Creating default user…
[2020-02-02T19:34:23.897] [INFO] models/index - User has id 1
[2020-02-02T19:34:23.980] [INFO] models/index - Checking if the migration from CozyDB is required… yes
[2020-02-02T19:34:24.400] [INFO] models/index - Migrating from CozyDB…
[2020-02-02T19:36:08.182] [INFO] controllers/all - Importing:
accesses: xx
accounts: xx
alerts: xx
budgets: xx
categories: xx
operation-types: xx
settings: xx
operations: xx

[2020-02-02T19:36:08.184] [INFO] controllers/all - Import accesses…
[2020-02-02T19:36:09.551] [INFO] controllers/all - Done.
[2020-02-02T19:36:09.553] [INFO] controllers/all - Import accounts…
[2020-02-02T19:36:10.419] [INFO] controllers/all - Done.
[2020-02-02T19:36:10.420] [INFO] controllers/all - Import categories…
[2020-02-02T19:36:13.870] [INFO] controllers/all - Done.
[2020-02-02T19:36:13.871] [INFO] controllers/all - Import budgets…
[2020-02-02T19:36:26.843] [INFO] controllers/all - Done.
[2020-02-02T19:36:26.844] [INFO] controllers/all - Import transactions…
[2020-02-02T19:36:27.065] [INFO] models/helpers - bulk insert: inserting all at once
[2020-02-02T19:36:29.683] [INFO] controllers/all - Done.
[2020-02-02T19:36:29.683] [INFO] controllers/all - Import settings…
[2020-02-02T19:36:30.617] [INFO] controllers/all - Done.
[2020-02-02T19:36:30.619] [INFO] controllers/all - Import alerts…
[2020-02-02T19:36:30.620] [INFO] controllers/all - Done.
[2020-02-02T19:36:30.622] [INFO] models/index - Migrating from CozyDB done!
[2020-02-02T19:36:30.745] [INFO] init - Starting bank accounts polling et al…
[2020-02-02T19:36:30.768] [INFO] poller - > Next check of accounts on 03/02/2020 at 03:32:00
[2020-02-02T19:36:30.774] [INFO] poller - Checking accounts and operations for all accesses…
[2020-02-02T19:36:30.800] [INFO] accounts-manager - Retrieve all accounts from access bp with login *******xxx
[2020-02-02T19:36:30.806] [INFO] sources/weboob - Calling weboob: command accounts…
[2020-02-02T19:36:30.808] [INFO] sources/weboob - Weboob will be updated prior to command « accounts »
[2020-02-02T19:36:34.158] [INFO] sources/weboob - exited with code 1.
[2020-02-02T19:36:34.159] [INFO] sources/weboob - Command returned an error code.
[2020-02-02T19:36:34.162] [INFO] sources/weboob - Checking that weboob is installed and can actually be called…
[2020-02-02T19:36:34.163] [INFO] sources/weboob - Calling weboob: command test…
[2020-02-02T19:36:35.172] [INFO] sources/weboob - exited with code 0.
[2020-02-02T19:36:35.173] [INFO] sources/weboob - OK: weboob exited normally with non-empty JSON content.
[2020-02-02T19:36:35.174] [ERROR] sources/weboob - Got error while running command « accounts »: Unable to load module bp.
Traceback (most recent call last):
File « /home/kresus/.local/lib/python3.5/site-packages/weboob-1.6-py3.5.egg/weboob/core/modules.py », line 152, in load_module
module = LoadedModule(imp.load_module(module_name, fp, pathname, description))
File « /usr/lib/python3.5/imp.py », line 244, in load_module
return load_package(name, filename)
File « /usr/lib/python3.5/imp.py », line 216, in load_package
return _load(spec)
File «  », line 693, in _load
File «  », line 673, in _load_unlocked
File «  », line 673, in exec_module
File «  », line 222, in _call_with_frames_removed
File « /home/kresus/.kresus/weboob-data/modules/1.6/bp/init.py », line 20, in
from .module import BPModule
File « /home/kresus/.kresus/weboob-data/modules/1.6/bp/module.py », line 34, in
from .browser import BPBrowser, BProBrowser
File « /home/kresus/.kresus/weboob-data/modules/1.6/bp/browser.py », line 32, in
from weboob.exceptions import (
ImportError: cannot import name ‹ AppValidationCancelled ›

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File « /home/kresus/app_20200202/build/server/weboob/main.py », line 874, in main
weboob_connector.create_backend(bank_module, params, session)
File « /home/kresus/app_20200202/build/server/weboob/main.py », line 502, in create_backend
storage=self.storage
File « /home/kresus/.local/lib/python3.5/site-packages/weboob-1.6-py3.5.egg/weboob/core/ouiboube.py », line 430, in build_backend
return super(Weboob, self).build_backend(module_name, params, storage, name, nofail)
File « /home/kresus/.local/lib/python3.5/site-packages/weboob-1.6-py3.5.egg/weboob/core/ouiboube.py », line 116, in build_backend
module = self.modules_loader.get_or_load_module(module_name)
File « /home/kresus/.local/lib/python3.5/site-packages/weboob-1.6-py3.5.egg/weboob/core/modules.py », line 117, in get_or_load_module
self.load_module(module_name)
File « /home/kresus/.local/lib/python3.5/site-packages/weboob-1.6-py3.5.egg/weboob/core/modules.py », line 159, in load_module
raise ModuleLoadError(module_name, e)
weboob.exceptions.ModuleLoadError: cannot import name ‹ AppValidationCancelled ›

[2020-02-02T19:36:35.177] [ERROR] sources/weboob - (error code: UNKNOWN_WEBOOB_MODULE)
[2020-02-02T19:36:35.285] [ERROR] poller - Error when polling accounts: Unable to load module bp.
Traceback (most recent call last):
File « /home/kresus/.local/lib/python3.5/site-packages/weboob-1.6-py3.5.egg/weboob/core/modules.py », line 152, in load_module
module = LoadedModule(imp.load_module(module_name, fp, pathname, description))
File « /usr/lib/python3.5/imp.py », line 244, in load_module
return load_package(name, filename)
File « /usr/lib/python3.5/imp.py », line 216, in load_package
return _load(spec)
File «  », line 693, in _load
File «  », line 673, in _load_unlocked
File «  », line 673, in exec_module
File «  », line 222, in _call_with_frames_removed
File « /home/kresus/.kresus/weboob-data/modules/1.6/bp/init.py », line 20, in
from .module import BPModule
File « /home/kresus/.kresus/weboob-data/modules/1.6/bp/module.py », line 34, in
from .browser import BPBrowser, BProBrowser
File « /home/kresus/.kresus/weboob-data/modules/1.6/bp/browser.py », line 32, in
from weboob.exceptions import (
ImportError: cannot import name ‹ AppValidationCancelled ›

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File « /home/kresus/app_20200202/build/server/weboob/main.py », line 874, in main
weboob_connector.create_backend(bank_module, params, session)
File « /home/kresus/app_20200202/build/server/weboob/main.py », line 502, in create_backend
storage=self.storage
File « /home/kresus/.local/lib/python3.5/site-packages/weboob-1.6-py3.5.egg/weboob/core/ouiboube.py », line 430, in build_backend
return super(Weboob, self).build_backend(module_name, params, storage, name, nofail)
File « /home/kresus/.local/lib/python3.5/site-packages/weboob-1.6-py3.5.egg/weboob/core/ouiboube.py », line 116, in build_backend
module = self.modules_loader.get_or_load_module(module_name)
File « /home/kresus/.local/lib/python3.5/site-packages/weboob-1.6-py3.5.egg/weboob/core/modules.py », line 117, in get_or_load_module
self.load_module(module_name)
File « /home/kresus/.local/lib/python3.5/site-packages/weboob-1.6-py3.5.egg/weboob/core/modules.py », line 159, in load_module
raise ModuleLoadError(module_name, e)
weboob.exceptions.ModuleLoadError: cannot import name ‹ AppValidationCancelled ›

Error
at new KError (/home/kresus/app_20200202/build/server/helpers.js:49:18)
at ChildProcess.script.on.code (/home/kresus/app_20200202/build/server/lib/sources/weboob.js:122:31)
at ChildProcess.emit (events.js:198:13)
at maybeClose (internal/child_process.js:982:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
[2020-02-02T19:36:35.292] [INFO] accounts-manager - Retrieve all accounts from access bnporc with login *******xxx
[2020-02-02T19:36:35.296] [INFO] sources/weboob - Calling weboob: command accounts…
[2020-02-02T19:36:35.297] [INFO] sources/weboob - Weboob will be updated prior to command « accounts »
[2020-02-02T19:36:39.497] [INFO] sources/weboob - exited with code 1.
[2020-02-02T19:36:39.498] [INFO] sources/weboob - Command returned an error code.
[2020-02-02T19:36:39.499] [INFO] sources/weboob - Checking that weboob is installed and can actually be called…
[2020-02-02T19:36:39.500] [INFO] sources/weboob - Calling weboob: command test…
[2020-02-02T19:36:40.507] [INFO] sources/weboob - exited with code 0.
[2020-02-02T19:36:40.508] [INFO] sources/weboob - OK: weboob exited normally with non-empty JSON content.
[2020-02-02T19:36:40.509] [ERROR] sources/weboob - Got error while running command « accounts »: Unknown error: Unexpected UTF-8 BOM (decode using utf-8-sig): line 1 column 1 (char 0).

Merci

Il s’est bien passé quelque chose lors de la migration.

Je suis revenu sur une version précédente de kresus (15.1) avec mon ancienne base et j’avais encore cette erreur de BOM.

J’avais fait une archive de ma base avant la migration et j’ai restauré cette archive. Depuis je n’ai plus cette erreur même après resynchro.

Je vais réinstaller à part la nouvelle version de kresus et faire d’autres essai sans toucher à ma version actuelle.

Merci.

Ce que je ne comprends pas c’est qu’entre 19h21 et 19h24 il n’y a rien. À 19h21 l’appli ne devrait plus du tout tourner, ne pas répondre aux requêtes http ni rien. Je n’explique pas que tu aies quelque chose à 19h24.
Est-ce que tu as supprimé une partie des logs entre ces deux-là ?

Sinon il y a deux soucis weboob : un d’import de module, et un concernant le BOM.

Pour le BOM est-ce qu’en repartant sur la 0.15 tu n’aurais pas aussi remis une ancienne version des modules weboob ou du core weboob par hasard ?

Quand tu dis « même après synchro » ça comporte une mise à jour des modules weboob et/ou du côté ?

Merci pour tes précieux retours

J’avais lancé kresus dans une console et pas dans un service et entre les 2 j’ai du arrêter. Donc c’est normal qu’il y ait eu interruption.

J’ai plusieurs soucis sur les modules weboob, un soucis sur module la banque postal, un soucis sur un module american express et enfin un soucis de BOM sur le module hellobank.

Désolé pour le terme de « synchro », je parle de la récupération des opérations bancaires de mon compte.

Pour le BOM, peut être que je suis repartis sur une vieille version de weboob. Il faut que je refasse un nouvel essai avec mon archive.

Actuellement la version 0.151 que j’ai marche (à par les 2 problèmes sur les modules amex et la banque postal )

Merci pour ton temps pour ce soir, je reprendrais mes tests pour demain.

D’accord merci.

On va y aller par étapes… Pour le souci avec bp et le weboob.exceptions.ModuleLoadError: cannot import name "AppValidationCancelled", je suspecte que le core weboob n’est pas à jour. Peux-tu vérifier que dans /home/kresus/.local/lib/python3.5/site-packages/weboob-1.6-py3.5.egg/weboob/exceptions.py tu as bien une classe AppValidationCancelled comme ici : https://git.weboob.org/weboob/weboob/blob/master/weboob/exceptions.py#L84 ? Ça a été ajouté il y a deux mois https://git.weboob.org/weboob/weboob/commit/fdacdae83f5e5a9e8b5178321d921aaf49db2cce

Concernant le module bp, je ne devais pas avoir weboob à jour. J’ai mis à jour et maintenant j’ai une nouvelle erreur.

[2020-02-04T21:52:35.205] [ERROR] sources/weboob - (error code: GENERIC_EXCEPTION)
[2020-02-04T21:52:35.246] [ERROR] helpers - when fetching operations: Unknown error: invalid syntax (converter.py, line 120).
Traceback (most recent call last):
File « /home/kresus/app_20191112/build/server/weboob/main.py », line 669, in fetch
results[‹ values ›] = self.get_operations(from_date)
File « /home/kresus/app_20191112/build/server/weboob/main.py », line 561, in get_operations
for account in list(self.backend.iter_accounts()):
File « /home/kresus/kresus_db/weboob-data/modules/1.6/bp/module.py », line 74, in iter_accounts
return self.browser.get_accounts_list()
File « /home/kresus/.local/lib/python3.5/site-packages/weboob-1.6-py3.5.egg/weboob/browser/browsers.py », line 824, in inner
return func(browser, *args, **kwargs)
File « /home/kresus/kresus_db/weboob-data/modules/1.6/bp/browser.py », line 363, in get_accounts_list
for account in self.page.iter_accounts(name=owner_name):
File « /home/kresus/.local/lib/python3.5/site-packages/weboob-1.6-py3.5.egg/weboob/browser/elements.py », line 214, in iter
for obj in item:
File « /home/kresus/.local/lib/python3.5/site-packages/weboob-1.6-py3.5.egg/weboob/browser/elements.py », line 357, in iter
self.handle_attr(attr, getattr(self, ‹ obj_%s › % attr))
File « /home/kresus/.local/lib/python3.5/site-packages/weboob-1.6-py3.5.egg/weboob/browser/elements.py », line 374, in handle_attr
value = self.use_selector(func, key=key)
File « /home/kresus/.local/lib/python3.5/site-packages/weboob-1.6-py3.5.egg/weboob/browser/elements.py », line 128, in use_selector
value = func()
File « /home/kresus/kresus_db/weboob-data/modules/1.6/bp/pages/accountlist.py », line 142, in obj_iban
return response.page.get_iban()
File « /home/kresus/kresus_db/weboob-data/modules/1.6/bp/pages/accountlist.py », line 421, in get_iban
m = re.search(self.iban_regexp, extract_text(self.data))
File « /home/kresus/.local/lib/python3.5/site-packages/weboob-1.6-py3.5.egg/weboob/tools/pdf.py », line 512, in extract_text
from pdfminer.converter import TextConverter
File « /usr/local/lib/python3.5/dist-packages/pdfminer/converter.py », line 120
return f’(cid:{cid})’
^
SyntaxError: invalid syntax

[2020-02-04T21:52:35.246] [INFO] helpers - Error
at new KError (/home/kresus/app_20191112/build/server/helpers.js:82:16)
at ChildProcess.script.on.code (/home/kresus/app_20191112/build/server/lib/sources/weboob.js:182:23)
at ChildProcess.emit (events.js:198:13)
at maybeClose (internal/child_process.js:982:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
[2020-02-04T21:52:35.253] [ERROR] HTTP - GET /api/v1/accesses/*****************************0f7/fetch/operations - 500 (5631 ms)
[2020-02-04T21:53:03.509] [INFO] sources/weboob - Calling weboob: command version…
[2020-02-04T21:53:04.603] [INFO] sources/weboob - exited with code 0.
[2020-02-04T21:53:04.604] [INFO] sources/weboob - OK: weboob exited normally with non-empty JSON content.
[2020-02-04T21:53:04.608] [INFO] HTTP - GET /api/v1/settings/weboob - 304 (1101 ms)
[2020-02-04T21:53:06.187] [INFO] HTTP - GET /api/v1/logs - 200 (481 ms)

j’ai essayé de refaire une nouvelle migration avec ma base archivée et j’ai encore la même erreur de BOM.

Lorsque tu restaures ta base archivée, est-ce que tu restauras également weboob et/ou ses modules ?
As-tu essayé avec weboob à jour + les modules à jour (tu peux mettre à jour les modules depuis l’interface dans « Administration ») ?

Peux tu me donner le résultat de :

pip show pdfminer

et

pip show pdfminer-six

Je suspecte le problème de bp d’être lié à une version de pdfminer non à jour (si possible utilise pdfminer-six, et à jour).

oups mon message précédent est resté dans mon brouillon

Je n’en était pas sur vu que par défaut les modules sont dans le répertoire de la base.

J’ai créé une nouvelle archive après avoir mis à jour mes modules sur ma version actuelle de kresus où je n’ai pas ce problème de BOM, puis j’ai relancé une nouvelle migration en repartant d’une base vide sur postgre avec cette nouvelle archive en source.
J’ai le même problème.

pour pdf miner j’ai :

$ pip show pdfminer
Name: pdfminer
Version: 20191016
Summary: PDF parser and analyzer
Home-page: GitHub - euske/pdfminer: Python PDF Parser (Not actively maintained). Check out pdfminer.six.
Author: Yusuke Shinyama
Author-email: yusuke@shinyama.jp
License: MIT
Location: /usr/local/lib/python3.5/dist-packages
Requires: pycryptodome
Required-by:

je n’ai pas pdfminer-six mais aprés instalation

$ pip show pdfminer-six
Name: pdfminer.six
Version: 20200124
Summary: PDF parser and analyzer
Home-page: GitHub - pdfminer/pdfminer.six: Community maintained fork of pdfminer - we fathom PDF
Author: Yusuke Shinyama + Philippe Guglielmetti
Author-email: pdfminer@goulu.net
License: MIT/X
Location: /home/kresus/.local/lib/python3.5/site-packages
Requires: sortedcontainers, chardet, pycryptodome
Required-by:

comment remplacer pdfminer par pdfminer-six ?

Je vais m’absenter pendant 1 semaine ou j’aurais peu d’accès à internet.
D’ici là je vais essayer de faire une migration vers sqllite pour voir ce que ça donne.

Je vais essayer aussi de partir d’un kresus avec une base vierge et importer un backup JSON.

Merci encore pour ton aide.

Je dirais que pip uninstall pdfminer devrait suffire.

Bonne idée pour SQLite, je suis curieux du résultat.
La migration est faite via un outil npm, kresus-export-cozydb, si tu le souhaites tu peux aussi voir le JSON qui est créé avant d’être importé dans la nouvelle base de données avec cette commande qui crée un fichier dans /tmp appelé output.json à partir du fichier config.ini de ton kresus :

npm install --production --prefix=/tmp kresus-export-cozydb && /tmp/node_modules/kresus-export-cozydb/bin/export.js -c config.ini -o /tmp/output.json

Hey @Olivier, tu as pu faire de nouveaux essais ? On est très curieux de savoir si tu t’en es sorti ou pas, finalement, vu qu’on va commencer à généraliser les tests de notre version SQL de Kresus :slight_smile:

Bonjour @bnjbvr,
oui j’ai fais plusieurs test. un premier test en migrant sur SQLLite. j’ai eu la même erreur.
Un 2e test en repartant d’une base vide puis en important un backup.
Pas de problème lors de l’import. J’ai eu le problème lors de la récupération des nouvelles opérations.

Depuis je n’avais pas ressayé car j’ai d’autres problèmes maintenant (toujours le module bnporc) sur la version antérieur 0.15.1. c’est un problème de certificat SSL.

En effectuant un nouvel essai (migration à partir d’un de ma bdd existante), j’ai toujours cet erreur par contre, si je ressaisie le mot de passe de mon compte, je n’ai plus cette erreur mais l’erreur du certificat SSL.

voilà ou j’en suis.

Salut @Olivier,

Aurais-tu l’occasion de tester la commande ci-dessous, qui va te produire un fichier json dans /tmp, que tu pourras vérifier.

Puis regarder si tout te semble ok dans les identifiants avec jq ".data .accesses" /tmp/output.json ?

Hello @nicofrand. ça ne donne rien.
J’ai résolu entre temps mon problème de certificat SSL qui était du au passage de debian 9 vers 10.
Donc sur ma version antérieur, j’ai maintenant un kresus qui marche sur tout mes comptes dont celui de HelloBank.
J’ai refais une nouvelle migration avec la dernière version de kresus récupérée le 09/03
A la fin de la migration j’avais la meme erreur.
Sur mon compte HelloBank en remodifiant uniquement mon mot de passe, j’avais la même erreur.


Cependant, je n’avais pas remarqué que la valeur Website n’était pas bonne et que je devais sélectionner celui de HelloBank.

En sélectionnant la bonne valeur, je n’ai plus cette erreur de BOM qui se déclenche parce que j’essaye de récupérer les opération de mon compte HelloBank mais avec le mauvais paramètre Website.

Je pense que lors de la migration, le paramètre website doit sauter et doit se remettre à la première valeur de la liste.

Merci pour votre aide

Bonjour Olivier,

peut-être n’as tu pas jq d’installé sur ton ordi. C’est un outil qui permet de visualiser/filtrer du json facilement en console ; en l’occurence la commande n’affichait que les accès (et non les opérations) et aurait permis de vérifier des les « customFields » que la valeur pour le paramètre website était bien celle voulue.

Merci pour ce retour, on avance ! J’effectuerai des tests sur l’export de ces paramètres pour s’assurer qu’ils sont bien gardés.

Content que tu aies pu régler ton problème de certificat.

Bonne journée

Je me suis mal exprimé et j’ai mal lu la réponse. je n’avais pas jq et je l’avais installé et j’ai eu cette réponse.
image

Tu as mis ./tmp/output.json au lieu de /tmp/output.json.

Tu peux aussi lire le début du fichier json avec head /tmp/output.json sinon (mais ça risque d’être assez peu lisible).

Ah non en fait sur les anciennes versions c’est jq ".accesses" /tmp/output.json désolé !