Spaces:
Sleeping
Sleeping
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 |