Spaces:
Sleeping
Sleeping
File size: 1,600 Bytes
b411033 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
"""
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 |