PnX-SI / gn_module_ZH

Module de GeoNature d'inventaire des zones humides
GNU General Public License v3.0
4 stars 6 forks source link

Affichage Map dans les PDF généré #82

Closed JulesGrillot closed 6 days ago

JulesGrillot commented 3 weeks ago

Geonature : 2.14.2 Module ZH : 1.3.1

Lors de la création d'une fiche PDF on obtient une erreur lié à PILLOW : AttributeError: module 'PIL.Image' has no attribute 'ANTIALIAS')

La carte n'est donc pas présente sur le PDF: image

Ce serait dû à un problème de version de dépendance issues de GeoNature entre :

La fonction ANTIALIAS n'existe plus pour les versions supérieures à PILLOW 10.0.0: https://stackoverflow.com/questions/76616042/attributeerror-module-pil-image-has-no-attribute-antialias

Pour l'instant flask-admin n'a pas d'autres versions mais l'amélioration est prévue dans la prochaine version : https://github.com/pallets-eco/flask-admin/issues/2375

Pour palier au problème en attendant il faut modifier les lignes suivantes : https://github.com/pallets-eco/flask-admin/blob/46d5a6ee5dd4d298c8824047a4cd9f7cc404348a/flask_admin/form/upload.py#L467 https://github.com/pallets-eco/flask-admin/blob/46d5a6ee5dd4d298c8824047a4cd9f7cc404348a/flask_admin/form/upload.py#L470

En remplaçant Image.ANTIALIAS par Image.LANCZOS.

Après redémarrage :

sudo systemctl restart geonature
sudo systemctl restart geonature-worker

La carte est revenue: image

Je n'ai pour l'instant pas remarqué de problèmes hors du modules ZH.

edelclaux commented 2 weeks ago

Merci pour le retour bien détaillé et documenté, et l'enquête qui va avec ! On essayer de regarder ça rapidement !

edelclaux commented 6 days ago

J'ai regardé un peu, et il semble que ce soit plutôt une issue GeoNature. On observe le problème côté ZH, mais les requirements des versions et les packages sont côté GN !

Je ne sais pas s'il est préférable de:

edelclaux commented 6 days ago

@JulesGrillot J'ai pris l'initiative de transférer l'issue côté GéoNature #3178. N'hésite pas si tu préfères la faire toi-même, je peux supprimer la mienne, tout ça.