File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11import httpx
22from django .conf import settings
33from django .db .models import Prefetch
4- from django .shortcuts import render
4+ from django .shortcuts import get_object_or_404 , render
55from ninja import Field , NinjaAPI , Schema
66
77from cams .models import Cam , Category
@@ -64,7 +64,10 @@ async def health(request):
6464
6565@api .get ("/cams/{cam_id}" )
6666async def cams_detail (request , cam_id : int ):
67- cam = await Cam .objects .aget (id = cam_id )
67+ try :
68+ cam = await Cam .objects .aget (id = cam_id )
69+ except Cam .DoesNotExist :
70+ return api .create_response (request , {"message" : "Cam not found" }, status = 404 )
6871 async with httpx .AsyncClient () as client :
6972 fetcher = SurflineFetcher (cam .spot_id , client )
7073 tides , sunlight , wind , waves = await fetcher .fetch_all ()
Original file line number Diff line number Diff line change @@ -36,9 +36,12 @@ async def get_full_detail(request, cam_id: str):
3636 cam = await Cam .objects .aget (slug = cam_id )
3737 except Cam .DoesNotExist :
3838 if cam_id .isdigit ():
39- cam = await Cam .objects .aget (id = cam_id )
39+ try :
40+ cam = await Cam .objects .aget (id = cam_id )
41+ except Cam .DoesNotExist :
42+ return HttpResponse ("Cam not found" , status = 404 )
4043 else :
41- raise
44+ return HttpResponse ( "Cam not found" , status = 404 )
4245 related_cams = await cam .related_cams ()
4346
4447 return render (
Original file line number Diff line number Diff line change 99
1010
1111async def get_surfline_data (request , cam_id : int ):
12- cam = await Cam .objects .aget (id = cam_id )
12+ try :
13+ cam = await Cam .objects .aget (id = cam_id )
14+ except Cam .DoesNotExist :
15+ return render (request , "surfline-error.html" , {"message" : "Cam not found" })
1316 async with httpx .AsyncClient () as client :
1417 fetcher = SurflineFetcher (cam .spot_id , client )
1518 try :
You can’t perform that action at this time.
0 commit comments