Skip to content

Commit 6762e0b

Browse files
author
Andrei Neagu
committed
fixed issue
1 parent 68f0b24 commit 6762e0b

File tree

3 files changed

+15
-7
lines changed

3 files changed

+15
-7
lines changed

packages/common-library/src/common_library/unset.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,7 @@ class UnSet:
1010

1111
def as_dict_exclude_unset(**params) -> dict[str, Any]:
1212
return {k: v for k, v in params.items() if not isinstance(v, UnSet)}
13+
14+
15+
def as_dict_exclude_none(**params) -> dict[str, Any]:
16+
return {k: v for k, v in params.items() if v is not None}

packages/common-library/tests/test_unset.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from typing import Any
22

3-
from common_library.unset import UnSet, as_dict_exclude_unset
3+
from common_library.unset import UnSet, as_dict_exclude_none, as_dict_exclude_unset
44

55

66
def test_as_dict_exclude_unset():
@@ -13,3 +13,10 @@ def f(
1313
assert f(par1="hi") == {"par1": "hi"}
1414
assert f(par2=4) == {"par2": 4}
1515
assert f(par1="hi", par2=4) == {"par1": "hi", "par2": 4}
16+
17+
# still expected behavior
18+
assert as_dict_exclude_unset(par1=None) == {"par1": None}
19+
20+
21+
def test_as_dict_exclude_none():
22+
assert as_dict_exclude_none(par1=None) == {}

services/dynamic-scheduler/src/simcore_service_dynamic_scheduler/services/director_v2/_thin_client.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from typing import cast
33

44
from common_library.json_serialization import json_dumps
5-
from common_library.unset import UnSet, as_dict_exclude_unset
5+
from common_library.unset import as_dict_exclude_none
66
from fastapi import FastAPI, status
77
from httpx import Response, Timeout
88
from models_library.api_schemas_dynamic_scheduler.dynamic_services import (
@@ -133,14 +133,11 @@ async def dynamic_service_retrieve(
133133
@retry_on_errors()
134134
@expect_status(status.HTTP_200_OK)
135135
async def get_dynamic_services(
136-
self,
137-
*,
138-
user_id: UserID | None | UnSet = UnSet.VALUE,
139-
project_id: ProjectID | None | UnSet = UnSet.VALUE,
136+
self, *, user_id: UserID | None = None, project_id: ProjectID | None = None
140137
) -> Response:
141138
return await self.client.get(
142139
"/dynamic_services",
143-
params=as_dict_exclude_unset(user_id=user_id, project_id=project_id),
140+
params=as_dict_exclude_none(user_id=user_id, project_id=project_id),
144141
)
145142

146143
@retry_on_errors()

0 commit comments

Comments
 (0)