geo2france / idg-qgis-plugin

Plugin QGIS pour la consultation des données des différentes Infrastructure de Données Géographiques en France
GNU General Public License v2.0
14 stars 4 forks source link

Bug installation sur MacOS (Catalina et plus ancien): la fenêtre contenant la liste reste vide #2

Closed gryckelynck closed 2 years ago

gryckelynck commented 3 years ago

Sur la plateforme GéoGrandEst on nous a remonté le problème suivant:

GeoGrandEst fonctionne très bien sur un QGIS 3.14 installé sur 2 macs différents. Par contre, la tentative de passage à la version suivant (3.16, LTR) entraine:

erreur lors du lancement: "2021-07-08T12:27:10 CRITICAL Erreur : La lecture du fichier de configuration du plugin geograndest a produit des erreurs." "
Unicode decoding error.
'ascii' codec can't decode byte 0xc3 in position 16: ordinal not in range(128)
Peut-être une erreur liée à des accents qui passent mal ? Juste surprenant car cela fonctionne très bien sur la version 3.14

Plus de détails et ticket complet sur https://github.com/geograndest/qgis-plugin/issues/4

Je n'ai pas les moyens de reproduire (MacOS)... Avez-vous déjà rencontré ce problème? Une piste de résolution?

bchartier commented 3 years ago

Historiquement le plugin a été développé pour QGIS 2 et Python 2. La gestion avec Python 2 des jeux de caractères était tout un poème. Il est possible qu'à la suite du portage pour Python 3 on ait encore des restes de Python 2 qui posent problème. Je peux regarder dans une dizaine de jours avec QGIS 3.16 sous Windows.

gryckelynck commented 3 years ago

Information de PatCCC (auteur initial du ticket):

Sur ce problème, je soupçonne un problème lié à l'encodage du fichier config : après vérification et désinstallation, une version neuve de QGIS n'arrive pas à récupérer le menu. Par contre, sur l'ancienne, le menu reste mais n'est plus mis à jour.

gryckelynck commented 3 years ago

A noter que nous avons reçu ce matin le message suivant. Je pense que c'est le même problème:

Bonjour, depuis quelques temps, le plugin GeoGrandEst ne fonctionne plus sur MacOS : je soupçonne que le problème vient juste d'un changement d'encodage des caractères qui fait planter le module. Il faudrait donc revoir le fichier https://www.geograndest.fr/tools/plugin-qgis-geograndest/config.json qui a semble-t-il un encodage défaillant (les accents sont anormaux). Pour information, mes installations précédentes qui ont récupéré la liste qui sert à créer le menu fonctionnent, mais ne peuvent plus le mettre à jour. D'avance merci pour votre aide

bchartier commented 3 years ago

Historiquement le plugin a été développé pour QGIS 2 et Python 2. La gestion avec Python 2 des jeux de caractères était tout un poème. Il est possible qu'à la suite du portage pour Python 3 on ait encore des restes de Python 2 qui posent problème. Je peux regarder dans une dizaine de jours avec QGIS 3.16 sous Windows.

Bon, évidemment, je parle de tester sous Windows alors que le problème est sous MacOs... je ne suis pas bien malin décidément. J'ai la possibilité de tester sur un Mac... je regarde de quoi il retourne.

bchartier commented 3 years ago

Premier test avec MacOs Big Sur, QGIS 3.16.3 et https://www.geograndest.fr/tools/plugin-qgis-geograndest/config.json. Résultat : tout est ok. Pas de message d'erreur au chargement et toutes les couches que j'ai testées s'affiche normalement dans QGIS.

Je ferai un test avec la 3.16.9.

En attendant, est-ce que l'on sait quelle version du plugin a été utilisée ? Si l'erreur se produit toujours est-ce qu'elle produit une "stack trace" Python dans QGIS ? Si oui, est-ce que je pourrais en avoir une copie afin d'identifier les lignes de code en cause dans le plugin ?

bchartier commented 3 years ago

J'ai reproduit l'anomalie avec la toute dernière version LTR de QGIS disponible au téléchargement pour MacOs : 3.16.8-Hannover.

2021-08-02T20:07:10     CRITICAL    La lecture du fichier de configuration du plugin Géo2France a produit des erreurs.
             Unicode decoding error.
             'ascii' codec can't decode byte 0xc3 in position 16: ordinal not in range(128)
2021-08-02T20:07:10     WARNING    Faute de fichier de configuration valide, aucune ressource ne peut être chargée dans le panneau de l'extension Géo2France.

Je regarde d'où cela provient.

bchartier commented 3 years ago

J'ai apporté une correction au problème sur MacOs et QGIS 3.16.8. C'est pour l'instant disponible dans la branche fix-json-load-mac-qgis3.16.8 pour test. N'hésitez pas à tester ou faire tester sur Mac mais aussi sur Windows pour vérifier qu'il n'y a pas de régression. Une fois quelques tests réalisés j'intègrerai la correction dans la branche main du projet.

bchartier commented 3 years ago

J'ai réalisé quelques tests sur Windows pour cette nouvelle version. Tout semble ok. J'ai fusionné le code dans la branche main.

@gryckelynck : je te laisse voir avec PatCCC pour valider ces modifs et fermer le ticket le cas échéant.

bchartier commented 2 years ago

@gryckelynck : est-ce que je peux fermer ce ticket ?