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 |