geoservercloud 0.2.6.dev3__tar.gz → 0.2.6.dev6__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: geoservercloud
3
- Version: 0.2.6.dev3
3
+ Version: 0.2.6.dev6
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
@@ -316,16 +316,17 @@ class GeoServerCloud:
316
316
  native_layer: str,
317
317
  published_layer: str | None = None,
318
318
  epsg: int = 4326,
319
- ) -> Response | None:
319
+ international_title: dict[str, str] | None = None,
320
+ international_abstract: dict[str, str] | None = None,
321
+ ) -> Response:
320
322
  """
321
- Publish a remote WMTS layer if it does not already exist.
323
+ Publish a remote WMTS layer (first delete it if it already exists)
322
324
  """
323
325
  if not published_layer:
324
326
  published_layer = native_layer
325
- if self.resource_exists(
326
- f"/rest/workspaces/{workspace}/wmtsstores/{wmts_store}/layers/{published_layer}.json"
327
- ):
328
- return None
327
+ resource_path = f"/rest/workspaces/{workspace}/wmtsstores/{wmts_store}/layers/{published_layer}.json"
328
+ if self.resource_exists(resource_path):
329
+ self.delete_request(resource_path, params={"recurse": "true"})
329
330
  wmts_store_path = f"/rest/workspaces/{workspace}/wmtsstores/{wmts_store}.json"
330
331
  capabilities_url = (
331
332
  self.get_request(wmts_store_path)
@@ -337,7 +338,12 @@ class GeoServerCloud:
337
338
 
338
339
  path = f"/rest/workspaces/{workspace}/wmtsstores/{wmts_store}/layers.json"
339
340
  payload = Templates.wmts_layer(
340
- published_layer, native_layer, wgs84_bbox=wgs84_bbox, epsg=epsg
341
+ published_layer,
342
+ native_layer,
343
+ wgs84_bbox=wgs84_bbox,
344
+ epsg=epsg,
345
+ international_title=international_title,
346
+ international_abstract=international_abstract,
341
347
  )
342
348
 
343
349
  return self.post_request(path, json=payload)
@@ -264,6 +264,8 @@ class Templates:
264
264
  native_name: str,
265
265
  epsg: int = 4326,
266
266
  wgs84_bbox: tuple[float, float, float, float] | None = None,
267
+ international_title: dict[str, str] | None = None,
268
+ international_abstract: dict[str, str] | None = None,
267
269
  ) -> dict[str, dict[str, Any]]:
268
270
  template = {
269
271
  "wmtsLayer": {
@@ -293,6 +295,10 @@ class Templates:
293
295
  "miny": wgs84_bbox[1],
294
296
  "maxy": wgs84_bbox[3],
295
297
  }
298
+ if international_title:
299
+ template["wmtsLayer"]["internationalTitle"] = international_title
300
+ if international_abstract:
301
+ template["wmtsLayer"]["internationalAbstract"] = international_abstract
296
302
  return template
297
303
 
298
304
  @staticmethod
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "geoservercloud"
3
- version = "0.2.6.dev3"
3
+ version = "0.2.6.dev6"
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"