Voici la documentation : https://geoplateforme.pages.gpf-tech.ign.fr/documentation

Skip to content
Extraits de code Groupes Projets

feat(requests): add extent and date definition in requests

Fusionnées Jean-Marie KERLOCH a demandé de fusionner feature/define_resource_extent_and_date vers main
@@ -8,8 +8,10 @@ import json
# standard lib
import logging
from datetime import datetime
import requests
from gpf_entrepot_toolbelt.orchestrator.models import GpfExtent
from gpf_pyroger.constants import Status
from gpf_pyroger.publish_agent_core import PublishAgent
@@ -22,6 +24,7 @@ from gpf_pub_agent_download.__about__ import __title_clean__, __version__
logger = logging.getLogger(__name__)
TYPE_CONFIG = "DOWNLOAD"
DATETIME_FORMAT = "%Y-%m-%dT%H:%M:%S.%f"
class DownloadAgent(PublishAgent):
@@ -209,6 +212,28 @@ class DownloadAgent(PublishAgent):
"""
result = Status.OK
# Define resource extent and start/end date from used_data
extents = [
used_data["stored_data"]["extent"]
for used_data in params["type_infos"]["used_data"]
if used_data["stored_data"]["extent"]
]
gpf_extent = GpfExtent()
for extent in extents:
gpf_extent.add_extent(extent)
dates = [
datetime.strptime(
used_data["stored_data"]["last_event"]["date"], DATETIME_FORMAT
)
for used_data in params["type_infos"]["used_data"]
if used_data["stored_data"]["last_event"]
]
max_date = max(dates)
min_date = min(dates)
url = f"{self.service_url}/resources"
logger.debug(f"Request download service : route POST /resources - {url}")
response = requests.post(
@@ -217,11 +242,9 @@ class DownloadAgent(PublishAgent):
"name": params["layer_name"],
"title": params["type_infos"]["title"],
"abstract": params["type_infos"]["abstract"],
# TODO : add extent support
# "extent": params["layer_name"],
# TODO : add start / end date support
# "start_date": params["layer_name"],
# "end_date": params["layer_name"],
"extent": gpf_extent.to_dict(),
"start_date": min_date.strftime(DATETIME_FORMAT),
"end_date": max_date.strftime(DATETIME_FORMAT),
},
)
logger.debug(f"Response download service : route POST /resources - {response}")
Chargement en cours