MerginMaps / MerginMaps/python-api-client

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

Aberta
#114 2 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

bug windows
Linguagem predominante
Python
Estrelas
23
Forks
12
Merge médio
2d 13h
PRs com merge (30d)
7

Descrição

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

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Direção de pesquisa

Comece por client.py:546 e client_pull.py:553 e, em seguida, inspecione client-log.txt em busca do erro da extensão GEODIFF. Reproduza o workflow do Windows com pip instalado descrito na issue e rastreie a etapa de pull do GeoPackage. Considera-se concluído quando pull_project for concluído para um GeoPackage alterado sem o ClientError relatado.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
python, sqlite
Domínio
databases, operating-systems
Tipo de issue
Bug
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
35/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.