MerginMaps / MerginMaps/python-api-client

Client fails to pull on windows (when installed from pip)

Ouverte
#114 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

bug windows
Langage dominant
Python
Étoiles
23
Forks
12
Merge moyen
2 j 13 h
PR mergées (30 j)
7

Description

When using the client on Windows outside of QGIS (e.g. installed through pip), it does not work correctly when trying to pull a new version that involves geodiff operations:

import mergin
client = mergin.MerginClient (login='john', password='topsecret')
client.download_project('john/project', 'C:/Data/Project')
# now do some modifications to a GeoPackage on the server
client.pull_project('C:/Data/Project')

It fails with the following traceback:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\XYZ\AppData\Roaming\Python\Python38\site-packages\mergin\client.py", line 546, in pull_project
    return pull_project_finalize(job)
  File "C:\Users\XYZ\AppData\Roaming\Python\Python38\site-packages\mergin\client_pull.py", line 553, in pull_project_finalize
    raise ClientError("Cannot patch basefile {}! Please try syncing again.".format(basefile))
mergin.common.ClientError: Cannot patch basefile C:\Data\Project\.mergin\test.gpkg! Please try syncing again.

It looks like the underlying issue is in geodiff as client-log.txt contains this error:

GEODIFF: Unable to enable sqlite3/gpkg extensions

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par client.py:546 et client_pull.py:553, puis examinez client-log.txt à la recherche de l’erreur de l’extension GEODIFF. Reproduisez le workflow Windows avec pip installé décrit dans l’issue et suivez l’étape de pull du GeoPackage. C’est terminé lorsque pull_project s’exécute jusqu’au bout pour un GeoPackage modifié sans le ClientError signalé.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python, sqlite
Domaine
databases, operating-systems
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.