From 9508de36abed9fefe99ca8d013660da1cb67a1c8 Mon Sep 17 00:00:00 2001 From: andrewgryan Date: Mon, 4 Jul 2022 15:06:15 +0100 Subject: [PATCH 1/2] adjust test to test interface not instance --- test/test_drivers_unified_model.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/test/test_drivers_unified_model.py b/test/test_drivers_unified_model.py index a3a3b756..079dcebc 100644 --- a/test/test_drivers_unified_model.py +++ b/test/test_drivers_unified_model.py @@ -49,7 +49,10 @@ def test_navigator_use_database(tmpdir): } dataset = forest.drivers.get_dataset("unified_model", settings) navigator = dataset.navigator() - assert isinstance(navigator, forest.db.database.Database) + assert hasattr(navigator, "variables") + assert hasattr(navigator, "initial_times") + assert hasattr(navigator, "valid_times") + assert hasattr(navigator, "pressures") def test_loader_use_database(tmpdir): From 3b2a19fd128c03fea7c92501c6095db481398b0f Mon Sep 17 00:00:00 2001 From: andrewgryan Date: Fri, 8 Jul 2022 06:53:48 +0100 Subject: [PATCH 2/2] add support for complex driver settings --- forest/drivers/__init__.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/forest/drivers/__init__.py b/forest/drivers/__init__.py index 00ed564f..c04847b7 100644 --- a/forest/drivers/__init__.py +++ b/forest/drivers/__init__.py @@ -21,6 +21,9 @@ def _cache(f): # Ensure per-server dataset instances def wrapped(driver_name, settings=None): uid = _uid(driver_name, settings) + import json + + uid = json.dumps(uid) if uid not in _CACHE: _CACHE[uid] = f(driver_name, settings) return _CACHE[uid]