Erreur de synchronisation depuis le 1er janvier pour banque postale

Bonjour. Depuis mercredi, je subis le bug de l’an 2020 :scream:

J’ai installé Kresus sur mon serveur Yunohost en Avril 2019. Depuis le premier janvier 2020, la synchronisation ne se fait plus pour la banque postale (mais fonctionne toujours pour d’autres banques).
J’avais mis à jour Kresus le 19 décembre en version 0.15.2.

Voici le message d’erreur :

Unknown error: Please install python-pdfminer to parse PDF. Erreur inconnue de Kresus : essayez de mettre à jour Weboob, 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.

Voici les entrées correspondantes dans le journal : https://cloud.jershon.fr/nextcloud/index.php/s/EKToKD76wcfdx85

J’ai tenté la mise à jour de Weboob par l’intermédiaire de l’IHM. On me dit que la mise à jour à fonctionné.

Amicalement.

Bonjour !

Merci pour le signalement. Il semble qu’il y ait au moins deux soucis :

Voilà, il est nécessaire d’en savoir plus d’un côté ou de l’autre pour pouvoir avancer :slight_smile:

Bonne journée,
Benjamin

1 « J'aime »

Bonjour,

je rencontre le même problème depuis début 2020 avec la banque postale sur Kresus sur une instance Yunohost
https://community.kresus.org/t/erreur-de-synchronisation-avec-la-banque-postale-depuis-2020/212

Est-ce que c’est rentré dans l’ordre de votre côté ?

Merci

Le problème est toujours d’actualité.
Je consulte régulièrement les issues ouvertes, mais ça n’a pas l’air d’avancer…
Celle sur weboob est restée sans réponse.
Celle sur kresus a été marquée comme close, suite à une modification. Il semble que le module python qui manquait soit maintenant installé lors de l’installation de Kresus, mais il semble y avoir des problèmes de compatibilité de version de python. Si je comprend bien, il va falloir attendre que Yunohost passe sur Debian10.

Bonjour,

d’autres utilisateurs nous disent qu’avec weboob 2.0 (tout frais sorti) et le module à jour, tout fonctionne.
Pouvez-vous essayer de mettre à jour weboob (core) de nouveau puis les modules (depuis l’interface de Kresus) et ré-essayer ?

Je viens de faire la mise à jour de Weboob depuis l’interface de Kresus. Puis j’ai lancé la synchronisation. J’ai toujours une erreur, mais ce n’est plus la même :

Unknown error: invalid syntax (converter.py, line 120). Erreur inconnue de Kresus : essayez de mettre à jour Weboob, 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.

Et voici la traceback dans les logs :

Traceback (most recent call last):
  File "/var/www/kresus/build/server/weboob/main.py", line 683, in fetch
    results['values'] = self.get_operations(from_date)
  File "/var/www/kresus/build/server/weboob/main.py", line 566, in get_operations
    for account in list(self.backend.iter_accounts()):
  File "/var/www/kresus/data/weboob-data/modules/1.5/bp/module.py", line 74, in iter_accounts
    return self.browser.get_accounts_list()
  File "/var/www/kresus/venv/lib/python3.5/site-packages/weboob/browser/browsers.py", line 798, in inner
    return func(browser, *args, **kwargs)
  File "/var/www/kresus/data/weboob-data/modules/1.5/bp/browser.py", line 363, in get_accounts_list
    for account in self.page.iter_accounts(name=owner_name):
  File "/var/www/kresus/venv/lib/python3.5/site-packages/weboob/browser/elements.py", line 203, in __iter__
    for obj in item:
  File "/var/www/kresus/venv/lib/python3.5/site-packages/weboob/browser/elements.py", line 346, in __iter__
    self.handle_attr(attr, getattr(self, 'obj_%s' % attr))
  File "/var/www/kresus/venv/lib/python3.5/site-packages/weboob/browser/elements.py", line 363, in handle_attr
    value = self.use_selector(func, key=key)
  File "/var/www/kresus/venv/lib/python3.5/site-packages/weboob/browser/elements.py", line 129, in use_selector
    value = func()
  File "/var/www/kresus/data/weboob-data/modules/1.5/bp/pages/accountlist.py", line 142, in obj_iban
    return response.page.get_iban()
  File "/var/www/kresus/data/weboob-data/modules/1.5/bp/pages/accountlist.py", line 421, in get_iban
    m = re.search(self.iban_regexp, extract_text(self.data))
  File "/var/www/kresus/venv/lib/python3.5/site-packages/weboob/tools/pdf.py", line 470, in extract_text
    from pdfminer.converter import TextConverter
  File "/var/www/kresus/venv/lib/python3.5/site-packages/pdfminer/converter.py", line 120
    return f'(cid:{cid})'
                        ^
SyntaxError: invalid syntax

Je pense que le problème vient du fait que les f-string ne sont disponibles qu’à partir de python 3.6. Là, en python 3.5, il ne comprend pas ce que c’est.

Ce que tu viens de faire c’est la mise à jour des modules, pas de weboob.
Weboob est divisé en 2 parties : le cœur (version 1.5, 2.0, etc.), et les modules (mis à jour + régulièrement quand les sites changent).

Par contre pour la version de python c’est probable en effet :/…

Tu as essayé avec pdfminer.six au lieu de pdfminer ?

Je comprend mieux. Dans ce cas, quelle est la procédure à suivre pour mettre à jour le cœur de weboob ? J’imagine qu’il n’y a pas d’IHM pour cela.

J’ai regardé en diagonale le script d’installation de l’application Yunohost (https://github.com/YunoHost-Apps/kresus_ynh/blob/master/scripts/install), et j’y vois qu’en ligne 118 weboob est installé en utilisant pip. Donc j’imagine que je dois faire un pip update weboob, après avoir activé le bon environnement virtuel. J’ai juste ?

Pour tester pdfminer.six, il faut que je modifie l’import dans le code de weboob et que j’installe cette lib avec pip ?

:warning: Je te réponds ci-dessous mais c’est à prendre avec beaucoup de pincettes ! Je n’ai pas testé pdfminer.six avec la version de python, ni weboob 2.0 avec le connecteur, etc. C’est vraiment dans le cas où tu te sens capable de le faire, de revenir en arrière etc.

Je te conseillerais plutôt de tester déjà en local weboob tout seul, sans yunohost ni Kresus pour vérifier que ça fonctionne pour toi.
Si tu comprends un peu les lignes de commande y’a un snippet ici qui permet de télécharger weboob en local, et de tester directement boobank avec le module que tu veux : How to check transactions with woob bank (previously boobank) ($4358) · Snippets · kresusapp / kresus · GitLab.


Réponse à tes questions du post précédent :

A priori oui, avec le venv ici https://github.com/YunoHost-Apps/kresus_ynh/blob/master/scripts/install#L115 et via un pip install git+https://git.weboob.org/weboob/weboob.git --upgrade

Pour pdfmixer il faut supprimer pip uninstall pdfminer et installer pdfminer.six.