Skip to content
Snippets Groups Projects
variometers.py 747 B
Newer Older
  • Learn to ignore specific revisions
  • from typing import Dict
    
    from fastapi import APIRouter, Response
    
    from .Observatory import ASL_OBSERVATORY_INDEX
    
    
    router = APIRouter()
    
    
    @router.get(
        "/observatories/",
        description="Information regarding available geomagnetic observatories",
    )
    def get_observatories() -> Dict:
        return {
            "type": "FeatureCollection",
            "features": [
                ASL_OBSERVATORY_INDEX[id].geojson() for id in ASL_OBSERVATORY_INDEX.keys()
            ],
        }
    
    
    @router.get(
        "/observatories/{id}",
        description="Search observatories by 3-letter observatory code",
    )
    async def get_observatory_by_id(id: str) -> Dict:
        try:
            return ASL_OBSERVATORY_INDEX[id].geojson()
        except KeyError:
            return Response(status_code=404)