From 9d8c86a25793cd39bd77788d1c2a187c4822c932 Mon Sep 17 00:00:00 2001 From: Sam Cranford Date: Fri, 17 Apr 2026 17:07:50 -0400 Subject: [PATCH 1/2] ENH: Allow OGC formats to be optionally supported --- ogc/core.py | 6 +- ogc/edr/test/conftest.py | 6 ++ ogc/servers.py | 200 ++++++++++++++++++++++----------------- ogc/settings.py | 6 ++ 4 files changed, 130 insertions(+), 88 deletions(-) diff --git a/ogc/core.py b/ogc/core.py index cbbb175..a9c0885 100755 --- a/ogc/core.py +++ b/ogc/core.py @@ -62,7 +62,11 @@ def __init__(self, layers=[], **kwargs): service_abstract=self.service_abstract, service_group_title=self.service_group_title, ) - self.edr_routes = EdrRoutes(base_url=f"{self.server_address}{self.endpoint}/edr", layers=layers) + self.edr_routes = ( + EdrRoutes(base_url=f"{self.server_address}{self.endpoint}/edr", layers=layers) + if settings.EDR_ENABLED + else None + ) def get_coverage_from_id(self, identifier): for coverage in self.wcs_capabilities.coverages: diff --git a/ogc/edr/test/conftest.py b/ogc/edr/test/conftest.py index 2c36dd2..6aae719 100644 --- a/ogc/edr/test/conftest.py +++ b/ogc/edr/test/conftest.py @@ -1,3 +1,4 @@ +import os import pytest import numpy as np import datetime @@ -36,6 +37,11 @@ ) +@pytest.fixture(scope="session", autouse=True) +def set_env_vars(): + os.environ["OGC_SUPPORTED_FORMATS"] = "edr" + + @pytest.fixture() def layers() -> List[pogc.Layer]: """List of test layers. diff --git a/ogc/servers.py b/ogc/servers.py index d56a2f0..3efea7c 100755 --- a/ogc/servers.py +++ b/ogc/servers.py @@ -34,10 +34,9 @@ def home(endpoint): """Example API home page. Developers should make their own page similar to this one.""" test_layer = "testLayerName" test_layer_time = "12:59:59" # HH:MM:SS - return f"""

OGC Server API

-

This is the API endpoint served at {endpoint}. Add example usage here for your users.

-