geoservercloud 0.3.1.dev29__tar.gz → 0.3.1.dev32__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 (29) hide show
  1. {geoservercloud-0.3.1.dev29 → geoservercloud-0.3.1.dev32}/PKG-INFO +1 -1
  2. {geoservercloud-0.3.1.dev29 → geoservercloud-0.3.1.dev32}/geoservercloud/geoservercloud.py +10 -0
  3. {geoservercloud-0.3.1.dev29 → geoservercloud-0.3.1.dev32}/geoservercloud/models/featuretype.py +9 -3
  4. {geoservercloud-0.3.1.dev29 → geoservercloud-0.3.1.dev32}/geoservercloud/services/restservice.py +9 -0
  5. {geoservercloud-0.3.1.dev29 → geoservercloud-0.3.1.dev32}/pyproject.toml +1 -1
  6. {geoservercloud-0.3.1.dev29 → geoservercloud-0.3.1.dev32}/LICENSE +0 -0
  7. {geoservercloud-0.3.1.dev29 → geoservercloud-0.3.1.dev32}/README.md +0 -0
  8. {geoservercloud-0.3.1.dev29 → geoservercloud-0.3.1.dev32}/geoservercloud/__init__.py +0 -0
  9. {geoservercloud-0.3.1.dev29 → geoservercloud-0.3.1.dev32}/geoservercloud/geoservercloudsync.py +0 -0
  10. {geoservercloud-0.3.1.dev29 → geoservercloud-0.3.1.dev32}/geoservercloud/gridsets/2056.xml +0 -0
  11. {geoservercloud-0.3.1.dev29 → geoservercloud-0.3.1.dev32}/geoservercloud/gridsets/21781.xml +0 -0
  12. {geoservercloud-0.3.1.dev29 → geoservercloud-0.3.1.dev32}/geoservercloud/gridsets/3857.xml +0 -0
  13. {geoservercloud-0.3.1.dev29 → geoservercloud-0.3.1.dev32}/geoservercloud/models/__init__.py +0 -0
  14. {geoservercloud-0.3.1.dev29 → geoservercloud-0.3.1.dev32}/geoservercloud/models/common.py +0 -0
  15. {geoservercloud-0.3.1.dev29 → geoservercloud-0.3.1.dev32}/geoservercloud/models/datastore.py +0 -0
  16. {geoservercloud-0.3.1.dev29 → geoservercloud-0.3.1.dev32}/geoservercloud/models/datastores.py +0 -0
  17. {geoservercloud-0.3.1.dev29 → geoservercloud-0.3.1.dev32}/geoservercloud/models/featuretypes.py +0 -0
  18. {geoservercloud-0.3.1.dev29 → geoservercloud-0.3.1.dev32}/geoservercloud/models/layer.py +0 -0
  19. {geoservercloud-0.3.1.dev29 → geoservercloud-0.3.1.dev32}/geoservercloud/models/resourcedirectory.py +0 -0
  20. {geoservercloud-0.3.1.dev29 → geoservercloud-0.3.1.dev32}/geoservercloud/models/style.py +0 -0
  21. {geoservercloud-0.3.1.dev29 → geoservercloud-0.3.1.dev32}/geoservercloud/models/styles.py +0 -0
  22. {geoservercloud-0.3.1.dev29 → geoservercloud-0.3.1.dev32}/geoservercloud/models/wmssettings.py +0 -0
  23. {geoservercloud-0.3.1.dev29 → geoservercloud-0.3.1.dev32}/geoservercloud/models/workspace.py +0 -0
  24. {geoservercloud-0.3.1.dev29 → geoservercloud-0.3.1.dev32}/geoservercloud/models/workspaces.py +0 -0
  25. {geoservercloud-0.3.1.dev29 → geoservercloud-0.3.1.dev32}/geoservercloud/services/__init__.py +0 -0
  26. {geoservercloud-0.3.1.dev29 → geoservercloud-0.3.1.dev32}/geoservercloud/services/owsservice.py +0 -0
  27. {geoservercloud-0.3.1.dev29 → geoservercloud-0.3.1.dev32}/geoservercloud/services/restclient.py +0 -0
  28. {geoservercloud-0.3.1.dev29 → geoservercloud-0.3.1.dev32}/geoservercloud/templates.py +0 -0
  29. {geoservercloud-0.3.1.dev29 → geoservercloud-0.3.1.dev32}/geoservercloud/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: geoservercloud
3
- Version: 0.3.1.dev29
3
+ Version: 0.3.1.dev32
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
@@ -392,6 +392,16 @@ class GeoServerCloud:
392
392
  )
393
393
  return self.rest_service.create_feature_type(feature_type=feature_type)
394
394
 
395
+ def delete_feature_type(
396
+ self, workspace_name: str, datastore_name: str, layer_name: str
397
+ ) -> tuple[str, int]:
398
+ """
399
+ Delete a feature type and associated layer
400
+ """
401
+ return self.rest_service.delete_feature_type(
402
+ workspace_name, datastore_name, layer_name
403
+ )
404
+
395
405
  def create_layer_group(
396
406
  self,
397
407
  group: str,
@@ -108,9 +108,9 @@ class FeatureType(EntityModel):
108
108
  feature_type = content["featureType"]
109
109
  workspace_name = feature_type["store"]["name"].split(":")[0]
110
110
  store_name = feature_type["store"]["name"].split(":")[1]
111
- title = feature_type.get("title", feature_type.get("internationalTitle"))
111
+ title = feature_type.get("internationalTitle", feature_type.get("title"))
112
112
  abstract = feature_type.get(
113
- "abstract", feature_type.get("internationalAbstract")
113
+ "internationalAbstract", feature_type.get("abstract")
114
114
  )
115
115
  if feature_type.get("metadataLinks"):
116
116
  metadata_links_payload = feature_type["metadataLinks"]["metadataLink"]
@@ -201,7 +201,13 @@ class FeatureType(EntityModel):
201
201
  return {"featureType": content}
202
202
 
203
203
  def put_payload(self) -> dict[str, Any]:
204
- return self.post_payload()
204
+ content = self.post_payload()
205
+ # Force a null value on non-i18ned attributes, otherwise GeoServer sets it to the first i18n value
206
+ if content["featureType"].get("internationalTitle"):
207
+ content["featureType"]["title"] = None
208
+ if content["featureType"].get("internationalAbstract"):
209
+ content["featureType"]["abstract"] = None
210
+ return content
205
211
 
206
212
  def __repr__(self):
207
213
  return json.dumps(self.post_payload(), indent=4)
@@ -288,6 +288,15 @@ class RestService:
288
288
  )
289
289
  return response.content.decode(), response.status_code
290
290
 
291
+ def delete_feature_type(
292
+ self, workspace_name: str, datastore_name: str, layer_name: str
293
+ ) -> tuple[str, int]:
294
+ response: Response = self.rest_client.delete(
295
+ self.rest_endpoints.featuretype(workspace_name, datastore_name, layer_name),
296
+ params={"recurse": "true"},
297
+ )
298
+ return response.content.decode(), response.status_code
299
+
291
300
  def create_layer_group(
292
301
  self,
293
302
  group: str,
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "geoservercloud"
3
- version = "0.3.1.dev29"
3
+ version = "0.3.1.dev32"
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"