geoservercloud 0.8.12.dev6__tar.gz → 0.8.13.dev1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/PKG-INFO +1 -1
  2. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoservercloud/services/restclient.py +21 -0
  3. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/pyproject.toml +1 -1
  4. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/LICENSE +0 -0
  5. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/README.md +0 -0
  6. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/.gitignore +0 -0
  7. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/README.md +0 -0
  8. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/__init__.py +0 -0
  9. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/ci.config.yaml +0 -0
  10. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/cli.py +0 -0
  11. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/compose/ci.compose.yaml +0 -0
  12. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/compose/example.compose.yaml +0 -0
  13. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/compose/geodatabase/001_create_schemas.sql +0 -0
  14. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/config.py +0 -0
  15. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/data/sampledata.tgz +0 -0
  16. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/example.config.yaml +0 -0
  17. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/__init__.py +0 -0
  18. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/conftest.py +0 -0
  19. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/resources/__init__.py +0 -0
  20. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/resources/i18n/__init__.py +0 -0
  21. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/resources/i18n/labels/default_locale/default_value/language_None_expected.png +0 -0
  22. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/resources/i18n/labels/default_locale/default_value/language__expected.png +0 -0
  23. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/resources/i18n/labels/default_locale/default_value/language_de_expected.png +0 -0
  24. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/resources/i18n/labels/default_locale/default_value/language_fr_expected.png +0 -0
  25. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/resources/i18n/labels/default_locale/default_value/language_it_expected.png +0 -0
  26. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/resources/i18n/labels/default_locale/no_default_value/language_None_expected.png +0 -0
  27. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/resources/i18n/labels/default_locale/no_default_value/language__expected.png +0 -0
  28. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/resources/i18n/labels/default_locale/no_default_value/language_it_expected.png +0 -0
  29. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/resources/i18n/labels/no_default_locale/default_value/language_None_expected.png +0 -0
  30. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/resources/i18n/labels/no_default_locale/default_value/language__expected.png +0 -0
  31. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/resources/i18n/labels/no_default_locale/default_value/language_de_expected.png +0 -0
  32. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/resources/i18n/labels/no_default_locale/default_value/language_fr_expected.png +0 -0
  33. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/resources/i18n/labels/no_default_locale/default_value/language_it_expected.png +0 -0
  34. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/resources/i18n/labels/no_default_locale/no_default_value/language_None_expected.png +0 -0
  35. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/resources/i18n/labels/no_default_locale/no_default_value/language__expected.png +0 -0
  36. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/resources/i18n/labels/no_default_locale/no_default_value/language_it_expected.png +0 -0
  37. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/resources/i18n/localized_labels.sld +0 -0
  38. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/resources/i18n/localized_no_default.sld +0 -0
  39. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/resources/i18n/localized_with_default.sld +0 -0
  40. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/resources/wfs/__init__.py +0 -0
  41. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/resources/wfs/wfs_delete_payload.xml +0 -0
  42. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/resources/wfs/wfs_insert_payload.xml +0 -0
  43. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/resources/wms/__init__.py +0 -0
  44. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/resources/wms/getmap_expected.png +0 -0
  45. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/test_cascaded_stores.py +0 -0
  46. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/test_cog.py +0 -0
  47. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/test_datastore.py +0 -0
  48. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/test_get_version.py +0 -0
  49. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/test_gwc.py +0 -0
  50. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/test_i18n.py +0 -0
  51. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/test_imagemosaic.py +0 -0
  52. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/test_imagemosaic_cog.py +0 -0
  53. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/test_installed_fonts.py +0 -0
  54. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/test_ogcapi_features.py +0 -0
  55. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/test_rest_resource.py +0 -0
  56. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/test_s3_credentials_chain.py +0 -0
  57. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/test_wfs.py +0 -0
  58. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/test_wms.py +0 -0
  59. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/test_workspace.py +0 -0
  60. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoserver_acceptance_tests/tests/utils.py +0 -0
  61. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoservercloud/__init__.py +0 -0
  62. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoservercloud/geoservercloud.py +0 -0
  63. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoservercloud/geoservercloudsync.py +0 -0
  64. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoservercloud/gridsets/2056.xml +0 -0
  65. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoservercloud/gridsets/21781.xml +0 -0
  66. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoservercloud/gridsets/3857.xml +0 -0
  67. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoservercloud/models/__init__.py +0 -0
  68. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoservercloud/models/abstractlayer.py +0 -0
  69. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoservercloud/models/common.py +0 -0
  70. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoservercloud/models/coverage.py +0 -0
  71. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoservercloud/models/coverages.py +0 -0
  72. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoservercloud/models/coveragestore.py +0 -0
  73. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoservercloud/models/datastore.py +0 -0
  74. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoservercloud/models/datastores.py +0 -0
  75. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoservercloud/models/featuretype.py +0 -0
  76. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoservercloud/models/featuretypes.py +0 -0
  77. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoservercloud/models/gwclayer.py +0 -0
  78. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoservercloud/models/layer.py +0 -0
  79. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoservercloud/models/layergroup.py +0 -0
  80. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoservercloud/models/layergroups.py +0 -0
  81. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoservercloud/models/resourcedirectory.py +0 -0
  82. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoservercloud/models/s3blobstore.py +0 -0
  83. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoservercloud/models/style.py +0 -0
  84. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoservercloud/models/styles.py +0 -0
  85. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoservercloud/models/wmslayer.py +0 -0
  86. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoservercloud/models/wmssettings.py +0 -0
  87. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoservercloud/models/wmsstore.py +0 -0
  88. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoservercloud/models/wmtsstore.py +0 -0
  89. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoservercloud/models/workspace.py +0 -0
  90. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoservercloud/models/workspaces.py +0 -0
  91. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoservercloud/services/__init__.py +0 -0
  92. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoservercloud/services/owsservice.py +0 -0
  93. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoservercloud/services/restlogger.py +0 -0
  94. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoservercloud/services/restservice.py +0 -0
  95. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoservercloud/templates.py +0 -0
  96. {geoservercloud-0.8.12.dev6 → geoservercloud-0.8.13.dev1}/geoservercloud/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: geoservercloud
3
- Version: 0.8.12.dev6
3
+ Version: 0.8.13.dev1
4
4
  Summary: Lightweight Python client to interact with GeoServer Cloud REST API, GeoServer ACL and OGC services
5
5
  License: BSD-2-Clause
6
6
  Author: Camptocamp
@@ -1,3 +1,4 @@
1
+ import re
1
2
  from typing import Any
2
3
 
3
4
  import requests
@@ -6,6 +7,13 @@ from .restlogger import gs_logger
6
7
 
7
8
  TIMEOUT = 120
8
9
 
10
+ # Depending on the order of the jars in WEB-INF/lib, vanilla GeoServer answers these
11
+ # GWC "not found" errors with 500 instead of 404, keeping GWC's message as the
12
+ # text/plain body.
13
+ GWC_NOT_FOUND_MESSAGE = re.compile(
14
+ r'Unknown layer: .+|Failed to get GridSet\. A GridSet with name ".+" does not exist\.'
15
+ )
16
+
9
17
 
10
18
  class RestClient:
11
19
  """
@@ -46,6 +54,7 @@ class RestClient:
46
54
  full_url,
47
55
  extra={"response": response},
48
56
  )
57
+ self.restore_gwc_not_found_status(response)
49
58
  if response.status_code != 404:
50
59
  response.raise_for_status()
51
60
  return response
@@ -130,10 +139,22 @@ class RestClient:
130
139
  full_url,
131
140
  extra={"response": response},
132
141
  )
142
+ self.restore_gwc_not_found_status(response)
133
143
  if response.status_code != 404:
134
144
  response.raise_for_status()
135
145
  return response
136
146
 
147
+ def restore_gwc_not_found_status(self, response: requests.Response) -> None:
148
+ if response.status_code != 500:
149
+ return
150
+ if not GWC_NOT_FOUND_MESSAGE.fullmatch(response.text.strip()):
151
+ return
152
+ gs_logger.warning(
153
+ "GeoServer answered a GWC not found error with 500, treating it as 404: %s",
154
+ response.url,
155
+ )
156
+ response.status_code = 404
157
+
137
158
  def log_payload(
138
159
  self, method: str, json: dict | None, data: bytes | str | None
139
160
  ) -> None:
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "geoservercloud"
3
- version = "0.8.12.dev6"
3
+ version = "0.8.13.dev1"
4
4
  description = "Lightweight Python client to interact with GeoServer Cloud REST API, GeoServer ACL and OGC services"
5
5
  authors = ["Camptocamp <info@camptocamp.com>"]
6
6
  license = "BSD-2-Clause"