From 217eee56982858bbb48a8ee8b3efd8c9aae1887c Mon Sep 17 00:00:00 2001 From: Tom Cobb Date: Fri, 23 Jun 2023 15:17:18 +0000 Subject: [PATCH] Allow descriptor units to be null Ophyd v1 sets units to be strings if the exist, and null if they do not. Allow this in the schema and add into the test --- event_model/documents/event_descriptor.py | 3 ++- event_model/schemas/event_descriptor.json | 5 ++++- event_model/tests/test_em.py | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/event_model/documents/event_descriptor.py b/event_model/documents/event_descriptor.py index 85191139..3c4a2bfa 100644 --- a/event_model/documents/event_descriptor.py +++ b/event_model/documents/event_descriptor.py @@ -97,7 +97,8 @@ class Configuration(TypedDict): "title": "DataType", "patternProperties": {"^([^./]+)$": {"$ref": "#/definitions/DataType"}}, "additionalProperties": False, - } + }, + "DataKey": {"properties": {"units": {"type": ["string", "null"]}}}, }, "additionalProperties": False, } diff --git a/event_model/schemas/event_descriptor.json b/event_model/schemas/event_descriptor.json index c6269b5d..adcc1cc0 100644 --- a/event_model/schemas/event_descriptor.json +++ b/event_model/schemas/event_descriptor.json @@ -84,7 +84,10 @@ "units": { "title": "Units", "description": "Engineering units of the value", - "type": "string" + "type": [ + "string", + "null" + ] } }, "required": [ diff --git a/event_model/tests/test_em.py b/event_model/tests/test_em.py index 899d9d47..6fce1246 100644 --- a/event_model/tests/test_em.py +++ b/event_model/tests/test_em.py @@ -59,7 +59,7 @@ def test_compose_run(): assert bundle.compose_stop is compose_stop bundle = compose_descriptor( data_keys={ - "motor": {"shape": [], "dtype": "number", "source": "..."}, + "motor": {"shape": [], "dtype": "number", "source": "...", "units": None}, "image": { "shape": [512, 512], "dtype": "number",