Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions computing/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,48 @@
from .misc.digital_elevation_model import generate_dem_layer
from .misc.canal_layer import canal_vector
from .STAC_specs.stac_collection import generate_stac_collection_task
from .farm_boundaries.farm_boundary import build_farm_boundary_map


@api_security_check(allowed_methods="POST")
@schema(None)
def generate_farm_boundaries(request):
print("Inside generate_farm_boundaries API.")
try:
state = request.data.get("state", "").lower().strip()
district = request.data.get("district", "").lower().strip()
block = request.data.get("block", "").lower().strip()
api_key = request.data.get("api_key", "").strip()
year = request.data.get("year", None)
overwrite = request.data.get("overwrite", False)

if not all([state, district, block, api_key]):
return Response(
{"Error": "state, district, block, and api_key are required."},
status=status.HTTP_400_BAD_REQUEST,
)

if year is not None:
year = int(year)
if year < 2017 or year > 2024:
return Response(
{"Error": "year must be between 2017 and 2024."},
status=status.HTTP_400_BAD_REQUEST,
)

build_farm_boundary_map.apply_async(
args=[state, district, block, api_key, year, overwrite],
queue="nrm",
)

msg = "Farm boundary pipeline initiated."
if year:
msg += f" ET intersection enabled for year {year}."

return Response({"Success": msg}, status=status.HTTP_200_OK)
except Exception as e:
print("Exception in generate_farm_boundaries api :: ", e)
return Response({"Exception": str(e)}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)


@api_security_check(allowed_methods="POST")
Expand Down
1 change: 1 addition & 0 deletions computing/farm_boundaries/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Farm Boundaries pipeline module
Loading