opengisch / qfieldsync

Sync your projects to QField
https://qfield.org/
GNU Lesser General Public License v3.0
55 stars 25 forks source link

Qfieldsync - for QGIS v3-32-1 #536

Open AlanJMauger opened 1 year ago

AlanJMauger commented 1 year ago

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.

AlanJMauger commented 1 year ago

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

m-kuhn commented 1 year ago

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

AlanJMauger commented 1 year ago

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

AlanJMauger commented 1 year ago

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:\PROGRA~1\QGIS33~1.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:\PROGRA~1\QGIS33~1.1\apps\Python39\lib\pathlib.py", line 1318, in mkdir self.mkdir(mode, parents=False, exist_ok=exist_ok) File "C:\PROGRA~1\QGIS33~1.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:/PROGRA~1/QGIS33~1.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:/PROGRA~1/QGIS33~1.1/apps/qgis/./python/plugins C:\PROGRA~1\QGIS33~1.1\apps\grass\grass83\etc\python C:\Users\mauge\Documents C:\Program Files\QGIS 3.32.1\bin\python39.zip C:\PROGRA~1\QGIS33~1.1\apps\Python39\DLLs C:\PROGRA~1\QGIS33~1.1\apps\Python39\lib C:\Program Files\QGIS 3.32.1\bin C:\PROGRA~1\QGIS33~1.1\apps\Python39 C:\PROGRA~1\QGIS33~1.1\apps\Python39\lib\site-packages C:\PROGRA~1\QGIS33~1.1\apps\Python39\lib\site-packages\win32 C:\PROGRA~1\QGIS33~1.1\apps\Python39\lib\site-packages\win32\lib C:\PROGRA~1\QGIS33~1.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

AlanJMauger commented 1 year ago

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