From f573e4aa1945f55097b67ef9b29ccc3349b3baca Mon Sep 17 00:00:00 2001 From: ric-evans Date: Mon, 3 Feb 2025 15:03:20 -0600 Subject: [PATCH] all `None` as sub-value in classifiers --- skydriver/database/interface.py | 2 +- skydriver/database/schema.py | 2 +- skydriver/rest_handlers.py | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/skydriver/database/interface.py b/skydriver/database/interface.py index 655d0063..f7f6716c 100644 --- a/skydriver/database/interface.py +++ b/skydriver/database/interface.py @@ -61,7 +61,7 @@ async def post( scanner_server_args: str, tms_args_list: list[str], env_vars: schema.EnvVars, - classifiers: dict[str, str | bool | float | int], + classifiers: dict[str, str | bool | float | int | None], priority: int, ) -> schema.Manifest: """Create `schema.Manifest` doc.""" diff --git a/skydriver/database/schema.py b/skydriver/database/schema.py index 985b18fe..8f88694c 100644 --- a/skydriver/database/schema.py +++ b/skydriver/database/schema.py @@ -255,7 +255,7 @@ class Manifest(ScanIDDataclass): ) # open to requestor - classifiers: dict[str, str | bool | float | int] = dc.field(default_factory=dict) + classifiers: dict[str, str | bool | float | int | None] = dc.field(default_factory=dict) # i3 event -- grabbed by scanner central server i3_event_id: str = "" # id to i3_event coll diff --git a/skydriver/rest_handlers.py b/skydriver/rest_handlers.py index ef217408..b803bac8 100644 --- a/skydriver/rest_handlers.py +++ b/skydriver/rest_handlers.py @@ -297,12 +297,12 @@ def _validate_request_clusters( return list_tups -def _classifiers_validator(val: Any) -> dict[str, str | bool | float | int]: +def _classifiers_validator(val: Any) -> dict[str, str | bool | float | int | None]: # type checks if not isinstance(val, dict): raise argparse.ArgumentTypeError("must be a dict") - if any(v for v in val.values() if not isinstance(v, str | bool | float | int)): - raise argparse.ArgumentTypeError("entry must be 'str | bool | float | int'") + if any(v for v in val.values() if not isinstance(v, str | bool | float | int | None)): + raise argparse.ArgumentTypeError("entry must be 'str | bool | float | int | None'") # size check if len(val) > MAX_CLASSIFIERS_LEN: