Skip to content

"permission denied" breaks import (potentially export) function #652

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
chrisgee opened this issue Mar 23, 2025 · 3 comments
Open

"permission denied" breaks import (potentially export) function #652

chrisgee opened this issue Mar 23, 2025 · 3 comments

Comments

@chrisgee
Copy link

chrisgee commented Mar 23, 2025

When trying to import in a project that was created on a different user account (where previous imports were performed in the other users home directory), the import dialog does not open. Stack trace below. Current user "doris" with home /Users/doris. Previous user "christoph" with home /Users/christoph.

I would have expected that a "default directory" is chosen instead of the inaccessible one.

PermissionError: [Errno 13] Permission denied: '/Users/christoph/Nextcloud/qfield/Import/Wang_UG-25.qgs'

Traceback (most recent call last):
  File "/Users/doris/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/qfieldsync/qfield_sync.py", line 380, in show_synchronize_dialog
    dlg = SynchronizeDialog(
  File "/Users/doris/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/qfieldsync/gui/synchronize_dialog.py", line 76, in __init__
    self.dirsToCopyWidget.set_path(self.qfieldDir.text())
  File "/Users/doris/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/qfieldsync/gui/dirs_to_copy_widget.py", line 138, in set_path
    is_enabled = bool(self.path and self.path.is_dir())
  File "/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/pathlib.py", line 1429, in is_dir
    return S_ISDIR(self.stat().st_mode)
  File "/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/pathlib.py", line 1222, in stat
    return self._accessor.stat(self)
PermissionError: [Errno 13] Permission denied: '/Users/christoph/Nextcloud/qfield/Import/Wang_UG-25.qgs'

Python-Version: 3.9.5 (default, Sep 10 2021, 16:18:19) [Clang 12.0.5 (clang-1205.0.22.11)]
QGIS-Version: 3.40.5-Bratislava Bratislava, 8d6d1b54486
Python-Pfad:

/Users/doris/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/csv_tools
/Applications/QGIS-LTR.app/Contents/MacOS/../Resources/python
/Users/doris/Library/Application Support/QGIS/QGIS3/profiles/default/python
/Users/doris/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins
/Applications/QGIS-LTR.app/Contents/MacOS/../Resources/python/plugins
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/site-packages/pyproj-3.2.0-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/site-packages/numba-0.50.1-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/site-packages/geopandas-0.8.1-py3.9.egg
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/site-packages
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/site-packages/Pillow-7.2.0-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python39.zip
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/site-packages/rasterio-1.1.5-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/site-packages/statsmodels-0.11.1-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/site-packages/numpy-1.20.1-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/site-packages/Rtree-0.9.7-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/lib-dynload
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/site-packages/matplotlib-3.3.0-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/site-packages/patsy-0.5.1-py3.9.egg
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/site-packages/netCDF4-1.5.4-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/site-packages/GDAL-3.3.2-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/site-packages/scipy-1.5.1-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/site-packages/pandas-1.3.3-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/site-packages/opencv_contrib_python-4.3.0.36-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/site-packages/cftime-1.2.1-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/site-packages/Fiona-1.8.13.post1-py3.9-macosx-10.13.0-x86_64.egg
/Users/doris/Library/Application Support/QGIS/QGIS3/profiles/default/python
/Users/doris/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/excel_sync/libs/xlwt-1.3.0-py2.py3-none-any.whl
/Users/doris/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/excel_sync/libs/xlrd-1.2.0-py2.py3-none-any.whl
/Users/doris/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/qfieldsync/libqfieldsync.whl
/Users/doris/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/mmqgis/forms
/Users/doris/Nextcloud/shared/Doris/STA_Allmanshausen_QGIS_25_2/Shapes_Wang```
@suricactus
Copy link
Collaborator

This is valid for import and export, the path is stored within the .qgs file itself, instead of the QFieldSync local instance. I see the arguments in favor and against doing that, but for sure we should do something about this error at least.

@chrisgee
Copy link
Author

I agree. Where to store the config is a project decision. None the less the exception should be caught gracefully.

There is another exception happening at the end of the import that should be taken care of as well:

Fehler trat bei der Ausführung von Python-Code auf:

PermissionError: [Errno 13] Permission denied: '/Users/christoph/Nextcloud/documents/shared/Doris/STA_Allmanshausen_QGIS_25_2/Shapes_Wang/STA_Allmanshausen_2025.qgs.qgz'
Traceback (most recent call last):
File "/Users/doris/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/qfieldsync/gui/synchronize_dialog.py", line 63, in
lambda: self.start_synchronization()
File "/Users/doris/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/qfieldsync/gui/synchronize_dialog.py", line 118, in start_synchronization
if not original_path.exists():
File "/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/pathlib.py", line 1414, in exists
self.stat()
File "/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/pathlib.py", line 1222, in stat
return self._accessor.stat(self)
PermissionError: [Errno 13] Permission denied: '/Users/christoph/Nextcloud/documents/shared/Doris/STA_Allmanshausen_QGIS_25_2/Shapes_Wang/STA_Allmanshausen_2025.qgs.qgz'

Python-Version: 3.9.5 (default, Sep 10 2021, 16:18:19) [Clang 12.0.5 (clang-1205.0.22.11)]
QGIS-Version: 3.40.5-Bratislava Bratislava, 8d6d1b54486

Python-Pfad:
/Users/doris/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/csv_tools
/Applications/QGIS-LTR.app/Contents/MacOS/../Resources/python
/Users/doris/Library/Application Support/QGIS/QGIS3/profiles/default/python
/Users/doris/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins
/Applications/QGIS-LTR.app/Contents/MacOS/../Resources/python/plugins
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/site-packages/patsy-0.5.1-py3.9.egg
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/site-packages/pandas-1.3.3-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python39.zip
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/site-packages/Pillow-7.2.0-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/lib-dynload
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/site-packages/Rtree-0.9.7-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/site-packages/pyproj-3.2.0-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/site-packages/GDAL-3.3.2-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/site-packages/opencv_contrib_python-4.3.0.36-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/site-packages/numba-0.50.1-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/site-packages/rasterio-1.1.5-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/site-packages/geopandas-0.8.1-py3.9.egg
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/site-packages/netCDF4-1.5.4-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/site-packages/scipy-1.5.1-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/site-packages/matplotlib-3.3.0-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/site-packages/cftime-1.2.1-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/site-packages/Fiona-1.8.13.post1-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/site-packages/statsmodels-0.11.1-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/site-packages
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/site-packages/numpy-1.20.1-py3.9-macosx-10.13.0-x86_64.egg
/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9
/Users/doris/Library/Application Support/QGIS/QGIS3/profiles/default/python
/Users/doris/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/excel_sync/libs/xlwt-1.3.0-py2.py3-none-any.whl
/Users/doris/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/excel_sync/libs/xlrd-1.2.0-py2.py3-none-any.whl
/Users/doris/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/qfieldsync/libqfieldsync.whl
/Users/doris/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/mmqgis/forms
/Users/doris/Nextcloud/shared/Doris/qfield/Import in PC/Allmannshausen mit C

@chrisgee
Copy link
Author

Just as an addition, a similar error happens during import:

2025-04-15T07:41:20 WARNING Traceback (most recent call last):
File "/Users/doris/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/qfieldsync/qfield_sync.py", line 380, in show_synchronize_dialog
dlg = SynchronizeDialog(
File "/Users/doris/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/qfieldsync/gui/synchronize_dialog.py", line 76, in init
self.dirsToCopyWidget.set_path(self.qfieldDir.text())
File "/Users/doris/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/qfieldsync/gui/dirs_to_copy_widget.py", line 138, in set_path
is_enabled = bool(self.path and self.path.is_dir())
File "/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/pathlib.py", line 1429, in is_dir
return S_ISDIR(self.stat().st_mode)
File "/Applications/QGIS-LTR.app/Contents/MacOS/lib/python3.9/pathlib.py", line 1222, in stat
return self._accessor.stat(self)
PermissionError: [Errno 13] Permission denied: '/Users/christoph/Nextcloud/qfield/Import/Wang_UG-25.qgs'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants