@@ -76,15 +76,18 @@ def get_area_children_boundary(
7676 area = Area .get_from_es (areacode , es , boundary = False , examples_count = 0 )
7777 features = []
7878 errors = {}
79- for child_area in area .relationships ["children" ][areatype ]: # type: ignore
80- result = Area .get_from_es (
81- child_area .id , es , boundary = True , examples_count = 0 , s3_client = s3_client
82- )
83- status , r = result .geoJSON ()
84- if status == 200 and isinstance (r , dict ):
85- features .extend (r .get ("features" , []))
86- else :
87- errors [child_area .id ] = r
79+ if area .relationships ["children" ]:
80+ for child_area in area .relationships ["children" ][areatype ]: # type: ignore
81+ result = Area .get_from_es (
82+ child_area .id , es , boundary = True , examples_count = 0 , s3_client = s3_client
83+ )
84+ status , r = result .geoJSON ()
85+ if status == 200 and isinstance (r , dict ):
86+ features .extend (r .get ("features" , []))
87+ else :
88+ errors [child_area .id ] = r
89+ else :
90+ errors ["area" ] = f"No children of type { areatype } found for area { areacode } "
8891 if not features :
8992 return JSONResponse (dict (message = errors ), status_code = 404 )
9093 return {"type" : "FeatureCollection" , "features" : features }
0 commit comments