UPDATE
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
from datetime import date
|
||||
|
||||
|
||||
def load_farm_context(sensor_id: str) -> dict | None:
|
||||
from irrigation.models import IrrigationMethod
|
||||
from location_data.satellite_snapshot import build_location_block_satellite_snapshots
|
||||
from farm_data.models import SensorData
|
||||
from farm_data.services import get_farm_plant_snapshots
|
||||
from weather.models import WeatherForecast
|
||||
|
||||
try:
|
||||
sensor = SensorData.objects.select_related("center_location").prefetch_related("plant_assignments__plant").get(
|
||||
farm_uuid=sensor_id
|
||||
)
|
||||
except SensorData.DoesNotExist:
|
||||
return None
|
||||
|
||||
location = sensor.center_location
|
||||
satellite_snapshots = build_location_block_satellite_snapshots(location)
|
||||
forecasts = list(
|
||||
WeatherForecast.objects.filter(location=location, forecast_date__gte=date.today()).order_by("forecast_date")[:7]
|
||||
)
|
||||
plants = get_farm_plant_snapshots(sensor)
|
||||
irrigation_methods = list(IrrigationMethod.objects.all()[:5])
|
||||
|
||||
return {
|
||||
"sensor": sensor,
|
||||
"location": location,
|
||||
"satellite_snapshots": satellite_snapshots,
|
||||
"forecasts": forecasts,
|
||||
"history": [],
|
||||
"plants": plants,
|
||||
"irrigation_methods": irrigation_methods,
|
||||
}
|
||||
Reference in New Issue
Block a user