envirosolutionspl / pobieracz_danych_gugik

Wtyczka QGIS do pobierania danych przestrzennych z zasobów GUGiK
GNU General Public License v3.0
6 stars 1 forks source link

poprawki do issue #50; zmiana pobierania requesta - automatyczne zamykanie połączenia v2 #93

Closed wojtek19022 closed 5 months ago

wojtek19022 commented 5 months ago

na tej wersji od Ciebie @algluszek w dalszym ciągu widnieją informacje o nie zamknięciu połączenia, na jakim qgisie to testowałaś? Bo to się dzieje na najnowszym LTR dla Windows i Ubuntu 22.10

wojtek19022 commented 5 months ago

Poniżej jeszcze treści komunikatów które otrzymałem: 2024-04-23T22:30:59 WARNING warning:D:\qgis_3_28\apps\Python39\lib\site-packages\urllib3\connectionpool.py:981: InsecureRequestWarning: Unverified HTTPS request is being made to host 'uldk.gugik.gov.pl'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings warnings.warn(

         traceback: File "C:\Users/wojta/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\pobieracz_danych_gugik\pobieracz_danych_gugik.py", line 176, in run
          self.dockwidget = PobieraczDanychDockWidget()
          File "C:\Users/wojta/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\pobieracz_danych_gugik\dialogs.py", line 57, in __init__
          self.regionFetch = RegionFetch()
          File "C:\Users/wojta/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\pobieracz_danych_gugik\uldk.py", line 5, in __init__
          self.wojewodztwoDict = self.__fetchWojewodztwoDict()
          File "C:\Users/wojta/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\pobieracz_danych_gugik\uldk.py", line 38, in __fetchWojewodztwoDict
          resp = get_legacy_session().get('https://uldk.gugik.gov.pl/service.php?obiekt=wojewodztwo&wynik=wojewodztwo,teryt', verify=False)
          File "D:\qgis_3_28\apps\Python39\lib\site-packages\requests\sessions.py", line 543, in get
          return self.request('GET', url, **kwargs)
          File "D:\qgis_3_28\apps\Python39\lib\site-packages\requests\sessions.py", line 530, in request
          resp = self.send(prep, **send_kwargs)
          File "D:\qgis_3_28\apps\Python39\lib\site-packages\requests\sessions.py", line 643, in send
          r = adapter.send(request, **kwargs)
          File "D:\qgis_3_28\apps\Python39\lib\site-packages\requests\adapters.py", line 439, in send
          resp = conn.urlopen(
          File "D:\qgis_3_28\apps\Python39\lib\site-packages\urllib3\connectionpool.py", line 670, in urlopen
          httplib_response = self._make_request(
          File "D:\qgis_3_28\apps\Python39\lib\site-packages\urllib3\connectionpool.py", line 381, in _make_request
          self._validate_conn(conn)
          File "D:\qgis_3_28\apps\Python39\lib\site-packages\urllib3\connectionpool.py", line 981, in _validate_conn
          warnings.warn(

2024-04-23T22:30:59 WARNING warning:C:\Users/wojta/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\pobieracz_danych_gugik\uldk.py:5: ResourceWarning: unclosed self.wojewodztwoDict = self.__fetchWojewodztwoDict()

         traceback: File "C:\Users/wojta/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\pobieracz_danych_gugik\pobieracz_danych_gugik.py", line 176, in run
          self.dockwidget = PobieraczDanychDockWidget()
          File "C:\Users/wojta/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\pobieracz_danych_gugik\dialogs.py", line 57, in __init__
          self.regionFetch = RegionFetch()
          File "C:\Users/wojta/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\pobieracz_danych_gugik\uldk.py", line 5, in __init__
          self.wojewodztwoDict = self.__fetchWojewodztwoDict()

2024-04-23T22:31:01 WARNING warning:C:\Users/wojta/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\pobieracz_danych_gugik\uldk.py:6: ResourceWarning: unclosed self.powiatDict = self.__fetchPowiatDict()

         traceback: File "C:\Users/wojta/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\pobieracz_danych_gugik\pobieracz_danych_gugik.py", line 176, in run
          self.dockwidget = PobieraczDanychDockWidget()
          File "C:\Users/wojta/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\pobieracz_danych_gugik\dialogs.py", line 57, in __init__
          self.regionFetch = RegionFetch()
          File "C:\Users/wojta/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\pobieracz_danych_gugik\uldk.py", line 6, in __init__
          self.powiatDict = self.__fetchPowiatDict()

2024-04-23T22:31:24 WARNING warning:C:\Users/wojta/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\pobieracz_danych_gugik\uldk.py:7: ResourceWarning: unclosed self.gminaDict = self.__fetchGminaDict()

         traceback: File "C:\Users/wojta/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\pobieracz_danych_gugik\pobieracz_danych_gugik.py", line 176, in run
          self.dockwidget = PobieraczDanychDockWidget()
          File "C:\Users/wojta/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\pobieracz_danych_gugik\dialogs.py", line 57, in __init__
          self.regionFetch = RegionFetch()
          File "C:\Users/wojta/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\pobieracz_danych_gugik\uldk.py", line 7, in __init__
          self.gminaDict = self.__fetchGminaDict()

2024-04-23T22:31:24 WARNING warning:D:\qgis_3_28\apps\Python39\lib\site-packages\urllib3\connectionpool.py:981: InsecureRequestWarning: Unverified HTTPS request is being made to host 'mapy.geoportal.gov.pl'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings warnings.warn(

         traceback: File "C:\Users/wojta/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\pobieracz_danych_gugik\pobieracz_danych_gugik.py", line 176, in run
          self.dockwidget = PobieraczDanychDockWidget()
          File "C:\Users/wojta/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\pobieracz_danych_gugik\dialogs.py", line 91, in __init__
          self.wfs_service_cmbbx.addItems(uslugi)
          File "C:\Users/wojta/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\pobieracz_danych_gugik\dialogs.py", line 161, in wfs_service_cmbbx_currentTextChanged
          typenamesDict = self.wfsFetch.getTypenamesByServiceName(text)
          File "C:\Users/wojta/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\pobieracz_danych_gugik\wfs\wfs_service.py", line 46, in getTypenamesByServiceName
          self.__cacheTypenamesForService(serviceName)
          File "C:\Users/wojta/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\pobieracz_danych_gugik\wfs\wfs_service.py", line 33, in __cacheTypenamesForService
          resp = getTypenamesFromWFS(self.wfsServiceDict[serviceName])
          File "C:\Users/wojta/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\pobieracz_danych_gugik\wfs\utils.py", line 22, in getTypenamesFromWFS
          r = get_legacy_session().get(url=wfsUrl, params=PARAMS, verify=False)
          File "D:\qgis_3_28\apps\Python39\lib\site-packages\requests\sessions.py", line 543, in get
          return self.request('GET', url, **kwargs)
          File "D:\qgis_3_28\apps\Python39\lib\site-packages\requests\sessions.py", line 530, in request
          resp = self.send(prep, **send_kwargs)
          File "D:\qgis_3_28\apps\Python39\lib\site-packages\requests\sessions.py", line 643, in send
          r = adapter.send(request, **kwargs)
          File "D:\qgis_3_28\apps\Python39\lib\site-packages\requests\adapters.py", line 439, in send
          resp = conn.urlopen(
          File "D:\qgis_3_28\apps\Python39\lib\site-packages\urllib3\connectionpool.py", line 670, in urlopen
          httplib_response = self._make_request(
          File "D:\qgis_3_28\apps\Python39\lib\site-packages\urllib3\connectionpool.py", line 381, in _make_request
          self._validate_conn(conn)
          File "D:\qgis_3_28\apps\Python39\lib\site-packages\urllib3\connectionpool.py", line 981, in _validate_conn
          warnings.warn(

2024-04-23T22:31:24 WARNING warning:C:\Users/wojta/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\pobieracz_danych_gugik\wfs\wfs_service.py:33: ResourceWarning: unclosed resp = getTypenamesFromWFS(self.wfsServiceDict[serviceName])

         traceback: File "C:\Users/wojta/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\pobieracz_danych_gugik\pobieracz_danych_gugik.py", line 176, in run
          self.dockwidget = PobieraczDanychDockWidget()
          File "C:\Users/wojta/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\pobieracz_danych_gugik\dialogs.py", line 91, in __init__
          self.wfs_service_cmbbx.addItems(uslugi)
          File "C:\Users/wojta/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\pobieracz_danych_gugik\dialogs.py", line 161, in wfs_service_cmbbx_currentTextChanged
          typenamesDict = self.wfsFetch.getTypenamesByServiceName(text)
          File "C:\Users/wojta/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\pobieracz_danych_gugik\wfs\wfs_service.py", line 46, in getTypenamesByServiceName
          self.__cacheTypenamesForService(serviceName)
          File "C:\Users/wojta/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\pobieracz_danych_gugik\wfs\wfs_service.py", line 33, in __cacheTypenamesForService
          resp = getTypenamesFromWFS(self.wfsServiceDict[serviceName])
wojtek19022 commented 5 months ago

I bardzo ładnie załatane błędy deprecation :D

agluszek commented 5 months ago

Chodzi o błąd ResourceWarning przy każdym wywołaniu retreiveFile i u mnie i jak widzę u Ciebie już to nie występuje, dla przykładu zamieszczam poniżej błąd sprzed zmian. Zastosowanie with zamyka automatycznie sesje. Testuję na QGIS-LTR 3.34 i macOS. 2024-04-24T08:48:07 WARNING warning:/Users/aglu/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/pobieracz_danych_gugik/tasks/downloadNmtTask.py:38: ResourceWarning: unclosed service_api.retreiveFile(url=nmt.url, destFolder=self.folder, obj=self)

wojtek19022 commented 5 months ago

A okej, to kod jak dla mnie wygląda git :)