data-api / api_sources /example_new_source.py
AUTO-FRANCE-PARTS
feat : Add Get parcel tool
b411033
"""
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