11import csv
22import io
33import re
4+ from http import HTTPStatus
45from typing import Iterator
56
67from fastapi import APIRouter , Request , Response
@@ -22,7 +23,7 @@ def area_search(request: Request, filetype="json", q: str | None = None) -> Resp
2223 redirect_url = request .url_for ("search_index" )
2324 if q :
2425 redirect_url = redirect_url .include_query_params (q = q )
25- return RedirectResponse (redirect_url , status_code = 301 )
26+ return RedirectResponse (redirect_url , status_code = HTTPStatus . SEE_OTHER )
2627
2728
2829@bp .get ("/names.csv" )
@@ -63,7 +64,7 @@ def get_area_boundary(areacodes: str, es: ElasticsearchDep, s3_client: S3Dep):
6364 areacode , es , boundary = True , examples_count = 0 , s3_client = s3_client
6465 )
6566 status , r = result .geoJSON ()
66- if status == 200 and isinstance (r , dict ):
67+ if status == HTTPStatus . OK and isinstance (r , dict ):
6768 features .extend (r .get ("features" , []))
6869 return {"type" : "FeatureCollection" , "features" : features }
6970
@@ -82,14 +83,14 @@ def get_area_children_boundary(
8283 child_area .id , es , boundary = True , examples_count = 0 , s3_client = s3_client
8384 )
8485 status , r = result .geoJSON ()
85- if status == 200 and isinstance (r , dict ):
86+ if status == HTTPStatus . OK and isinstance (r , dict ):
8687 features .extend (r .get ("features" , []))
8788 else :
8889 errors [child_area .id ] = r
8990 else :
9091 errors ["area" ] = f"No children of type { areatype } found for area { areacode } "
9192 if not features :
92- return JSONResponse (dict (message = errors ), status_code = 404 )
93+ return JSONResponse (dict (message = errors ), status_code = HTTPStatus . NOT_FOUND )
9394 return {"type" : "FeatureCollection" , "features" : features }
9495
9596
@@ -114,7 +115,7 @@ def get_area(
114115
115116 if filetype == "geojson" :
116117 status , r = result .geoJSON ()
117- if status != 200 :
118+ if status != HTTPStatus . OK :
118119 return JSONResponse (content = {"message" : r }, status_code = status )
119120 return JSONResponse (r )
120121
0 commit comments