eodash_catalog 0.3.17__tar.gz → 0.3.18__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 (50) hide show
  1. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/.bumpversion.cfg +1 -1
  2. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/Dockerfile +1 -1
  3. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/PKG-INFO +1 -1
  4. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/src/eodash_catalog/__about__.py +1 -1
  5. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/src/eodash_catalog/generate_indicators.py +8 -0
  6. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/src/eodash_catalog/stac_handling.py +25 -9
  7. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/.dockerignore +0 -0
  8. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/.github/workflows/ci.yml +0 -0
  9. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/.github/workflows/python-publish.yml +0 -0
  10. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/.gitignore +0 -0
  11. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/.vscode/extensions.json +0 -0
  12. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/.vscode/settings.json +0 -0
  13. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/LICENSE.txt +0 -0
  14. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/README.md +0 -0
  15. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/pyproject.toml +0 -0
  16. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/requirements.txt +0 -0
  17. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/ruff.toml +0 -0
  18. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/src/eodash_catalog/__init__.py +0 -0
  19. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/src/eodash_catalog/duration.py +0 -0
  20. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/src/eodash_catalog/endpoints.py +0 -0
  21. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/src/eodash_catalog/sh_endpoint.py +0 -0
  22. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/src/eodash_catalog/thumbnails.py +0 -0
  23. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/src/eodash_catalog/utils.py +0 -0
  24. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/tests/__init__.py +0 -0
  25. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/tests/test-data/regional_forecast.json +0 -0
  26. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/tests/test_generate.py +0 -0
  27. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/tests/test_geoparquet.py +0 -0
  28. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/tests/testing-catalogs/testing-json.json +0 -0
  29. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/tests/testing-catalogs/testing.yaml +0 -0
  30. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/tests/testing-collections/test_CROPOMAT1.yaml +0 -0
  31. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/tests/testing-collections/test_cmems.json +0 -0
  32. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/tests/testing-collections/test_cog.json +0 -0
  33. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/tests/testing-collections/test_geodb.yaml +0 -0
  34. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/tests/testing-collections/test_geodb_locations.yaml +0 -0
  35. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/tests/testing-collections/test_geojson.yaml +0 -0
  36. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/tests/testing-collections/test_locations_processing.json +0 -0
  37. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/tests/testing-collections/test_process.yaml +0 -0
  38. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/tests/testing-collections/test_projection.json +0 -0
  39. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/tests/testing-collections/test_see_solar_energy.yaml +0 -0
  40. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/tests/testing-collections/test_sh_wms.json +0 -0
  41. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/tests/testing-collections/test_sh_wms_locations.json +0 -0
  42. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/tests/testing-collections/test_tif_demo_1.yaml +0 -0
  43. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/tests/testing-collections/test_tif_demo_1_json.json +0 -0
  44. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/tests/testing-collections/test_tif_demo_2.yaml +0 -0
  45. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/tests/testing-collections/test_veda.json +0 -0
  46. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/tests/testing-collections/test_veda_tiles.json +0 -0
  47. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/tests/testing-collections/test_wms_no_time.yaml +0 -0
  48. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/tests/testing-indicators/test_indicator.yaml +0 -0
  49. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/tests/testing-layers/baselayers.yaml +0 -0
  50. {eodash_catalog-0.3.17 → eodash_catalog-0.3.18}/tests/testing-layers/overlays.yaml +0 -0
@@ -1,5 +1,5 @@
1
1
  [bumpversion]
2
- current_version = 0.3.17
2
+ current_version = 0.3.18
3
3
  commit = True
4
4
  tag = True
5
5
  parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(\-(?P<release>[a-z]+)\.(?P<build>\d+))?
@@ -29,4 +29,4 @@ RUN eodash_catalog --help
29
29
 
30
30
  CMD ["eodash_catalog"]
31
31
 
32
- LABEL version="0.3.17"
32
+ LABEL version="0.3.18"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: eodash_catalog
3
- Version: 0.3.17
3
+ Version: 0.3.18
4
4
  Summary: This package is intended to help create a compatible STAC catalog for the eodash dashboard client. It supports configuration of multiple endpoint types for information extraction.
5
5
  Project-URL: Documentation, https://github.com/eodash/eodash_catalog#readme
6
6
  Project-URL: Issues, https://github.com/eodash/eodash_catalog/issues
@@ -1,4 +1,4 @@
1
1
  # SPDX-FileCopyrightText: 2024-present Daniel Santillan <daniel.santillan@eox.at>
2
2
  #
3
3
  # SPDX-License-Identifier: MIT
4
- __version__ = "0.3.17"
4
+ __version__ = "0.3.18"
@@ -458,12 +458,20 @@ def add_to_catalog(
458
458
  link.extra_fields["endpointtype"] = endpoint["Name"]
459
459
  if collection_config.get("Subtitle"):
460
460
  link.extra_fields["subtitle"] = collection_config["Subtitle"]
461
+ if collection_config.get("ShortDescription"):
462
+ link.extra_fields["shortdescription"] = collection_config["ShortDescription"]
461
463
  link.extra_fields["title"] = collection.title
462
464
  if collection_config.get("EodashIdentifier"):
463
465
  link.extra_fields["code"] = collection_config["EodashIdentifier"]
464
466
  link.extra_fields["id"] = collection_config["Name"]
465
467
  if collection_config.get("Themes"):
466
468
  link.extra_fields["themes"] = collection_config["Themes"]
469
+ if collection_config.get("Provider"):
470
+ # get all provider names
471
+ link.extra_fields["providers"] = [
472
+ provider.get("Name") or provider.get("Url")
473
+ for provider in collection_config["Provider"]
474
+ ]
467
475
  # Check for summaries and bubble up info
468
476
  if disable:
469
477
  link.extra_fields["roles"] = ["disable"]
@@ -1,5 +1,6 @@
1
1
  import uuid
2
2
  from datetime import datetime, timezone
3
+ from urllib.parse import parse_qs, urlparse
3
4
 
4
5
  import requests
5
6
  import spdx_lookup as lookup
@@ -312,6 +313,10 @@ def add_collection_information(
312
313
 
313
314
  if collection_config.get("Subtitle"):
314
315
  collection.extra_fields["subtitle"] = collection_config["Subtitle"]
316
+
317
+ if collection_config.get("ShortDescription"):
318
+ collection.extra_fields["shortdescription"] = collection_config["ShortDescription"]
319
+
315
320
  if collection_config.get("Legend"):
316
321
  collection.add_asset(
317
322
  "legend",
@@ -321,15 +326,26 @@ def add_collection_information(
321
326
  roles=["metadata"],
322
327
  ),
323
328
  )
324
- if collection_config.get("Story"):
325
- collection.add_asset(
326
- "story",
327
- Asset(
328
- href=f'{catalog_config["assets_endpoint"]}/{collection_config["Story"]}',
329
- media_type="text/markdown",
330
- roles=["metadata"],
331
- ),
332
- )
329
+ if stories := collection_config.get("Stories"):
330
+ for story in stories:
331
+ story_url = story.get("Url")
332
+ if not story_url.startswith("http"):
333
+ story_url = f'{catalog_config.get("stories_endpoint")}/{story_url}'
334
+ parsed_url = urlparse(story_url)
335
+ # check if it is URL with a query parameter id=story-identifier
336
+ if parsed_url.query and len(parse_qs(parsed_url.query).get("id")) > 0:
337
+ story_id = parse_qs(parsed_url.query).get("id")[0]
338
+ else:
339
+ story_id = parsed_url.path.rsplit("/")[-1].replace(".md", "").replace(".MD", "")
340
+ collection.add_asset(
341
+ story_id,
342
+ Asset(
343
+ title=story.get("Name"),
344
+ href=story_url,
345
+ media_type="text/markdown",
346
+ roles=["metadata", "story"],
347
+ ),
348
+ )
333
349
  if collection_config.get("Image"):
334
350
  # Check if absolute URL or relative path
335
351
  if collection_config["Image"].startswith("http"):