UPDATE
This commit is contained in:
+1
-22
@@ -1,13 +1,12 @@
|
||||
from functools import cached_property
|
||||
|
||||
from django.apps import AppConfig
|
||||
from django.conf import settings
|
||||
|
||||
|
||||
class SoilDataConfig(AppConfig):
|
||||
default_auto_field = "django.db.models.BigAutoField"
|
||||
name = "location_data"
|
||||
verbose_name = "Soil Data (SoilGrids)"
|
||||
verbose_name = "Location Data (Remote Sensing)"
|
||||
|
||||
@cached_property
|
||||
def ndvi_health_service(self):
|
||||
@@ -15,25 +14,5 @@ class SoilDataConfig(AppConfig):
|
||||
|
||||
return NdviHealthService()
|
||||
|
||||
@cached_property
|
||||
def soil_data_adapter(self):
|
||||
from .soil_adapters import MockSoilDataAdapter, SoilGridsAdapter
|
||||
|
||||
provider = getattr(settings, "SOIL_DATA_PROVIDER", "soilgrids")
|
||||
if provider == "soilgrids":
|
||||
return SoilGridsAdapter(
|
||||
timeout=getattr(settings, "SOILGRIDS_TIMEOUT_SECONDS", 60)
|
||||
)
|
||||
if provider == "mock":
|
||||
if not (getattr(settings, "DEBUG", False) or getattr(settings, "DEVELOP", False)):
|
||||
raise RuntimeError("Mock soil provider is disabled outside dev/test environments.")
|
||||
return MockSoilDataAdapter(
|
||||
delay_seconds=getattr(settings, "SOIL_MOCK_DELAY_SECONDS", 0.8)
|
||||
)
|
||||
raise ValueError(f"Unsupported soil data provider: {provider}")
|
||||
|
||||
def get_ndvi_health_service(self):
|
||||
return self.ndvi_health_service
|
||||
|
||||
def get_soil_data_adapter(self):
|
||||
return self.soil_data_adapter
|
||||
|
||||
Reference in New Issue
Block a user