opengisch/qfieldsync

Qfieldsync - for QGIS v3-32-1

Opened this issue · 5 comments

It appears that when the currently open project in QGIS is packaged for Qfield it is generating multiple stacked directories in the Export folder. I think this is at the core of the issues I've faced attempting to use Qfield with my QGIS project. For example I had a lot of difficulty resyncing with new data from the hand held device.

I have reverted to QGIS V3-26 and QFieldsync seems to package the project correctly.

m-kuhn commented

Thank you for reporting.
Can you add the steps you are doing and the effect you are seeing?

New project
EPSG:28354
HCMGIS - basemaps - google satellite
Layer - create layer - new geopackage layer
image
added point layer
layer properties - Qfield - Cable - offline editing
Save project as qgs file
Plugins-qfieldsync-preferences
C:...\Testv32\export
Plugins-qfieldsync-package for qfield

at this point on previous occasions the program would generate cascading directories under the export folder but of course now I do it step by step I can't replicate it

Ok so I've succeeded in replicating the issue:
image
What I did was a second package generation with the following options ticked:
image
This is the Python Stack:
An error has occurred while executing Python code:

FileNotFoundError: [WinError 3] The system cannot find the path specified: 'C:\Users\mauge\Documents\Bahai\NSA\Grounds\GIS Course\Craigmore testing imagery\Testv32Export\Testv32Export\Testv32Export\Testv32Export\Testv32Export\Testv32Export\Testv32Export\Testv32Export\Testv32Export\Testv32Export\Testv32Export\Testv32Export\Testv32Export'
Traceback (most recent call last):
File "C:\PROGRA1\QGIS331.1\apps\Python39\lib\pathlib.py", line 1313, in mkdir
self._accessor.mkdir(self, mode)
FileNotFoundError: [WinError 3] The system cannot find the path specified: 'C:\Users\mauge\Documents\Bahai\NSA\Grounds\GIS Course\Craigmore testing imagery\Testv32Export\Testv32Export\Testv32Export\Testv32Export\Testv32Export\Testv32Export\Testv32Export\Testv32Export\Testv32Export\Testv32Export\Testv32Export\Testv32Export\Testv32Export'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "C:\Users/mauge/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\qfieldsync\gui\package_dialog.py", line 175, in package_project
raise err
File "C:\Users/mauge/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\qfieldsync\gui\package_dialog.py", line 171, in package_project
offline_convertor.convert()
File "C:\Users/mauge/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\qfieldsync\libqfieldsync\offline_converter.py", line 141, in convert
self._convert(project)
File "C:\Users/mauge/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\qfieldsync\libqfieldsync\offline_converter.py", line 328, in _convert
copy_attachments(
File "C:\Users/mauge/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\qfieldsync\libqfieldsync\utils\file_utils.py", line 143, in copy_attachments
copy_attachments(source, dest, relative_filename)
File "C:\Users/mauge/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\qfieldsync\libqfieldsync\utils\file_utils.py", line 143, in copy_attachments
copy_attachments(source, dest, relative_filename)
File "C:\Users/mauge/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\qfieldsync\libqfieldsync\utils\file_utils.py", line 143, in copy_attachments
copy_attachments(source, dest, relative_filename)
[Previous line repeated 7 more times]
File "C:\Users/mauge/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\qfieldsync\libqfieldsync\utils\file_utils.py", line 142, in copy_attachments
dest_filename.mkdir(parents=True, exist_ok=True)
File "C:\PROGRA1\QGIS331.1\apps\Python39\lib\pathlib.py", line 1318, in mkdir
self.mkdir(mode, parents=False, exist_ok=exist_ok)
File "C:\PROGRA1\QGIS331.1\apps\Python39\lib\pathlib.py", line 1313, in mkdir
self._accessor.mkdir(self, mode)
FileNotFoundError: [WinError 3] The system cannot find the path specified: 'C:\Users\mauge\Documents\Bahai\NSA\Grounds\GIS Course\Craigmore testing imagery\Testv32Export\Testv32Export\Testv32Export\Testv32Export\Testv32Export\Testv32Export\Testv32Export\Testv32Export\Testv32Export\Testv32Export\Testv32Export\Testv32Export\Testv32Export'

Python version: 3.9.5 (tags/v3.9.5:0a7dcbd, May 3 2021, 17:27:52) [MSC v.1928 64 bit (AMD64)]
QGIS version: 3.32.1-Lima Lima, 4a078ecf63

Python Path:
C:\Users/mauge/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\Coregistration
C:/PROGRA1/QGIS331.1/apps/qgis/./python
C:/Users/mauge/AppData/Roaming/QGIS/QGIS3\profiles\default/python
C:/Users/mauge/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins
C:/PROGRA1/QGIS331.1/apps/qgis/./python/plugins
C:\PROGRA1\QGIS331.1\apps\grass\grass83\etc\python
C:\Users\mauge\Documents
C:\Program Files\QGIS 3.32.1\bin\python39.zip
C:\PROGRA1\QGIS331.1\apps\Python39\DLLs
C:\PROGRA1\QGIS331.1\apps\Python39\lib
C:\Program Files\QGIS 3.32.1\bin
C:\PROGRA1\QGIS331.1\apps\Python39
C:\PROGRA1\QGIS331.1\apps\Python39\lib\site-packages
C:\PROGRA1\QGIS331.1\apps\Python39\lib\site-packages\win32
C:\PROGRA1\QGIS331.1\apps\Python39\lib\site-packages\win32\lib
C:\PROGRA1\QGIS331.1\apps\Python39\lib\site-packages\Pythonwin
C:/Users/mauge/AppData/Roaming/QGIS/QGIS3\profiles\default/python
C:\Users\mauge\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins\HCMGIS/forms
C:\Users/mauge/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\STL_Generator
C:/Users/mauge/AppData/Local/Temp/tmpz38g2sxw

it is unclear to me what "Directories to be copied" means in this context.