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

Skip to content
Extraits de code Groupes Projets

feat(download_file): Download vector file using S3

Fusionnées Quy Thy Truong a demandé de fusionner feat/s3-file-download vers main
3 fichiers
+ 68
12
Comparer les modifications
  • Côte à côte
  • En ligne
Fichiers
3
+ 61
7
@@ -4,18 +4,13 @@
# standard lib
import argparse
import sys
from datetime import datetime
from os import getenv
from os import environ, getenv
from pathlib import Path
from typing import List
# 3rd party
from gpf_entrepot_toolbelt.orchestrator.check_livraison import check_livraison_structure
from gpf_entrepot_toolbelt.orchestrator.models import (
GpfOrchestratorParameters,
OutputDataStructure,
)
from gpf_entrepot_toolbelt.orchestrator.models import GpfOrchestratorParameters
from gpf_entrepot_toolbelt.orchestrator.status import Status
from gpf_entrepot_toolbelt.utils.exit_program import fail_and_exit
from gpf_entrepot_toolbelt.utils.gpf_logger import gpf_logger_script
@@ -111,6 +106,43 @@ def main(argv: List[str] = None):
default=getenv("GPF_AUTHORIZED_FILE_EXTENSION", "geojson,csv,gpkg,shp,dbf,sql"),
)
# S3 configuration
parser.add_argument(
"--s3-url",
metavar="GPF_S3_URL",
dest="s3_url",
type=str,
help="Url du storage S3",
default=getenv("GPF_S3_URL", "http://localhost:9000"),
)
parser.add_argument(
"--s3-key",
metavar="GPF_S3_KEY",
dest="s3_key",
type=str,
help="Utilisateur du stockage S3",
default=getenv("GPF_S3_KEY", "admin"),
)
parser.add_argument(
"--s3-secret-key",
metavar="GPF_S3_SECRETKEY",
dest="s3_secret_key",
type=str,
help="Password du stockage S3",
default=getenv("GPF_S3_SECRETKEY", "minioadmin"),
)
parser.add_argument(
"--s3-region",
metavar="GPF_S3_REGION",
dest="s3_region",
type=str,
help="Region du stockage S3",
default=getenv("GPF_S3_REGION", "eu-west-3"),
)
# -- PARSE PASSED ARGUMENTS --
# get passed args and force print help if none
@@ -130,6 +162,13 @@ def main(argv: List[str] = None):
logger = gpf_logger_script(args.verbosity, __title_clean__)
# Définition des variables d'environnement
# Pour la toolbelt
environ["GPF_S3_URL"] = args.s3_url
environ["GPF_S3_KEY"] = args.s3_key
environ["GPF_S3_SECRETKEY"] = args.s3_secret_key
environ["GPF_S3_REGION"] = args.s3_region
# -- RUN LOGIC --
# check livraison
@@ -169,6 +208,21 @@ def main(argv: List[str] = None):
package_exec_name=__executable_name__,
)
# Download files in upload folder
try:
upload_dir_path: Path = args.work_dir_path / args.upload_dir_name
logger.debug(f"Téléchargement des fichiers dans le dossier {upload_dir_path}")
parameters.import_input_files(upload_dir_path)
except Exception as error:
error_message = "Download files into upload folder failed." f"Trace: {error}"
fail_and_exit(
work_dir=args.work_dir_path,
error_message=error_message,
package_title=__title_clean__,
package_version=__version__,
package_exec_name=__executable_name__,
)
# Run
try:
run_result = run(
Chargement en cours