data-api / domain /repositories /parcel_repository.py
AUTO-FRANCE-PARTS
refactor: Update nearby parcel retrieval to return structured response and improve error handling
e6ce7f9
from typing import Dict, Any, Optional
from api_sources.lexicon import LexiconAPI
class ParcelRepository:
"""Repository pour récupérer les données de parcelles depuis les API externes."""
def __init__(self, lexicon_api: LexiconAPI):
self.lexicon_api = lexicon_api
async def get_parcel_from_point(self, latitude: float, longitude: float) -> Optional[Dict[str, Any]]:
"""
Récupère les informations de parcelle pour un point donné.
Args:
latitude: Latitude en degrés décimaux
longitude: Longitude en degrés décimaux
Returns:
Dict contenant les données de la parcelle ou None si aucune parcelle trouvée
"""
try:
parcel_data = await self.lexicon_api.get_parcel_from_lat_lon(latitude, longitude)
# Si l'API ne retourne pas de données de parcelle, on retourne None
if not parcel_data :
return None
return parcel_data
except Exception as e:
# Log de l'erreur mais on continue avec les autres points
print(f"Erreur lors de la récupération de la parcelle en ({latitude}, {longitude}): {e}")
return None