Spaces:
Sleeping
Sleeping
| """ | |
| EXEMPLE : Comment ajouter une nouvelle source d'API | |
| Pour ajouter une nouvelle source d'API, suivez ces étapes : | |
| 1. Créez une nouvelle classe qui hérite de BaseAPISource | |
| 2. Implémentez la méthode get_parcel_from_lat_lon | |
| 3. Ajoutez d'autres méthodes spécifiques si nécessaire | |
| 4. Intégrez la nouvelle source dans app.py | |
| Exemple d'implémentation : | |
| """ | |
| import httpx | |
| from typing import Dict, Any | |
| from .base import BaseAPISource | |
| from .config import API_CONFIGS | |
| class ExempleAPI(BaseAPISource): | |
| """Exemple d'implémentation d'une nouvelle source d'API.""" | |
| def __init__(self): | |
| config = API_CONFIGS.get("exemple_api", { | |
| "base_url": "https://exemple.com", | |
| "timeout": 30 | |
| }) | |
| super().__init__( | |
| base_url=config["base_url"], | |
| timeout=config["timeout"] | |
| ) | |
| async def get_parcel_from_lat_lon(self, latitude: float, longitude: float) -> Dict[str, Any]: | |
| """Implémentation pour l'API exemple.""" | |
| url = self._build_url("/api/parcelle") | |
| params = { | |
| "lat": latitude, | |
| "lon": longitude | |
| } | |
| async with httpx.AsyncClient(timeout=self.timeout) as client: | |
| response = await client.get(url, params=params) | |
| response.raise_for_status() | |
| return response.json() | |
| async def autre_methode_specifique(self, param: str) -> Dict[str, Any]: | |
| """Exemple d'une méthode spécifique à cette API.""" | |
| url = self._build_url("/api/autre-endpoint") | |
| # ... implémentation | |
| pass |