ajout d'un paramètre timeout

This commit is contained in:
SebF 2022-02-06 15:54:28 +01:00
parent be787f7108
commit 2df8c63df9
3 changed files with 12 additions and 10 deletions

View File

@ -48,6 +48,9 @@ Il est possible de ne pas archiver en passant l'argument `-na, --no-archive`.
### Concaténation des tags dans l'export json
`-nc, --no-concatenation`, pour ne pas concaténer les tags dans le champ description du json exporté.
### Timeout
`-t, --timeout`, pour définir le timeout en secondes de la requêt Overpass (défaut 25s).
## Traductions
Les tags peuvent être traduits grâce au fichier `traductions.json` contenant la configuration sous la forme `"clef" : "tableau_de_valeurs"` où la clef est la valeur du tag OSM à traduire et le tableau de valeurs est de la forme `"valeur" : "traduction"`. Le fichier par défaut contient l'exemple de la traduction du tag `"bicycle_parking"`.

View File

@ -114,6 +114,10 @@ def init_argparse() -> argparse.ArgumentParser:
)
parser.set_defaults(concatenation=True)
parser.add_argument(
"-t", "--timeout", type=int, help="Définir le temps de timeout.", default=25
)
return parser
@ -132,7 +136,7 @@ def main():
],
)
utils = Utils(OVERPASS_URL, GEO_API_URL, args.dossier_resultats)
utils = Utils(OVERPASS_URL, GEO_API_URL, args.dossier_resultats, args.timeout)
if args.archivage:
utils.archivage(args.dossier_archive)

View File

@ -39,10 +39,11 @@ class Utils:
geo_api_url: str
dossier_resultats: str
def __init__(self, overpass_url, geo_api_url, dossier_resultats):
def __init__(self, overpass_url, geo_api_url, dossier_resultats, timeout):
self.overpass_url = overpass_url
self.geo_api_url = geo_api_url
self.dossier_resultats = dossier_resultats
self.timeout = timeout
with open("configuration/traductions.json", encoding="utf-8") as trads:
self.traductions = json.load(trads)
@ -157,15 +158,9 @@ class Utils:
"""Envoie la requête Overpass et retourne la réponse JSON."""
overpass_query = (
"""[out:json];
(
"""
+ critere
+ """
);
out center;
"""
f"[out:json][timeout: {str(self.timeout)}];({critere});out center;"
)
overpass_query = overpass_query.replace("aire_de_recherche", aire_de_recherche)
response = requests.get(self.overpass_url, params={"data": overpass_query})