Skip to content

Commit 065bd8f

Browse files
♻️ Clean deprecated (Pydantic v2) (#6955)
1 parent e6fc642 commit 065bd8f

File tree

9 files changed

+20
-19
lines changed

9 files changed

+20
-19
lines changed

scripts/maintenance/migrate_project/src/cli.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
from pathlib import Path
2-
from typing import Optional
32

43
import typer
54
from db import (
@@ -15,7 +14,7 @@
1514
def main(config: Path = typer.Option(..., exists=True)):
1615
assert config.exists() # nosec
1716
settings = Settings.load_from_file(config)
18-
typer.echo(f"Detected settings:\n{settings.json(indent=2)}\n")
17+
typer.echo(f"Detected settings:\n{settings.model_dump_json(indent=2)}\n")
1918

2019
r_clone_config_path = assemble_config_file(
2120
# source

scripts/maintenance/migrate_project/src/models.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,5 +92,7 @@ class Config:
9292
if __name__ == "__main__":
9393
# produces an empty configuration to be saved as starting point
9494
print(
95-
Settings.model_validate(Settings.Config.schema_extra["example"]).json(indent=2)
95+
Settings.model_validate(
96+
Settings.Config.schema_extra["example"]
97+
).model_dump_json(indent=2)
9698
)

services/web/server/src/simcore_service_webserver/folders/_folders_db.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,7 @@ async def update(
323323
"""
324324
Batch/single patch of folder/s
325325
"""
326-
# NOTE: exclude unset can also be done using a pydantic model and dict(exclude_unset=True)
326+
# NOTE: exclude unset can also be done using a pydantic model and model_dump(exclude_unset=True)
327327
updated = as_dict_exclude_unset(
328328
name=name,
329329
parent_folder_id=parent_folder_id,

services/web/server/src/simcore_service_webserver/licenses/_licensed_items_db.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ async def update(
145145
) -> LicensedItemDB:
146146
# NOTE: at least 'touch' if updated_values is empty
147147
_updates = {
148-
**updates.dict(exclude_unset=True),
148+
**updates.model_dump(exclude_unset=True),
149149
"modified": func.now(),
150150
}
151151

services/web/server/src/simcore_service_webserver/projects/_folders_db.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ async def update_project_to_folder(
129129
"""
130130
Batch/single patch of project to folders
131131
"""
132-
# NOTE: exclude unset can also be done using a pydantic model and dict(exclude_unset=True)
132+
# NOTE: exclude unset can also be done using a pydantic model and model_dump(exclude_unset=True)
133133
updated = as_dict_exclude_unset(
134134
user_id=user_id,
135135
)

services/web/server/src/simcore_service_webserver/workspaces/_workspaces_db.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ async def update_workspace(
217217
) -> WorkspaceDB:
218218
# NOTE: at least 'touch' if updated_values is empty
219219
_updates = {
220-
**updates.dict(exclude_unset=True),
220+
**updates.model_dump(exclude_unset=True),
221221
"modified": func.now(),
222222
}
223223

services/web/server/tests/unit/with_dbs/03/test_trash.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -409,7 +409,7 @@ async def workspace(
409409
# CREATE a workspace
410410
resp = await client.post("/v0/workspaces", json={"name": "My first workspace"})
411411
data, _ = await assert_status(resp, status.HTTP_201_CREATED)
412-
workspace = WorkspaceGet.parse_obj(data)
412+
workspace = WorkspaceGet.model_validate(data)
413413

414414
yield workspace
415415

@@ -433,15 +433,15 @@ async def test_trash_empty_workspace(
433433
resp = await client.get("/v0/workspaces")
434434
await assert_status(resp, status.HTTP_200_OK)
435435

436-
page = Page[WorkspaceGet].parse_obj(await resp.json())
436+
page = Page[WorkspaceGet].model_validate(await resp.json())
437437
assert page.meta.total == 1
438438
assert page.data[0] == workspace
439439

440440
# LIST trashed
441441
resp = await client.get("/v0/workspaces", params={"filters": '{"trashed": true}'})
442442
await assert_status(resp, status.HTTP_200_OK)
443443

444-
page = Page[WorkspaceGet].parse_obj(await resp.json())
444+
page = Page[WorkspaceGet].model_validate(await resp.json())
445445
assert page.meta.total == 0
446446

447447
# -------------
@@ -457,16 +457,16 @@ async def test_trash_empty_workspace(
457457
resp = await client.get("/v0/workspaces")
458458
await assert_status(resp, status.HTTP_200_OK)
459459

460-
page = Page[WorkspaceGet].parse_obj(await resp.json())
460+
page = Page[WorkspaceGet].model_validate(await resp.json())
461461
assert page.meta.total == 0
462462

463463
# LIST trashed
464464
resp = await client.get("/v0/workspaces", params={"filters": '{"trashed": true}'})
465465
await assert_status(resp, status.HTTP_200_OK)
466466

467-
page = Page[WorkspaceGet].parse_obj(await resp.json())
467+
page = Page[WorkspaceGet].model_validate(await resp.json())
468468
assert page.meta.total == 1
469-
assert page.data[0].dict(exclude=_exclude_attrs) == workspace.dict(
469+
assert page.data[0].model_dump(exclude=_exclude_attrs) == workspace.model_dump(
470470
exclude=_exclude_attrs
471471
)
472472
assert page.data[0].trashed_at is not None
@@ -483,9 +483,9 @@ async def test_trash_empty_workspace(
483483
resp = await client.get("/v0/workspaces")
484484
await assert_status(resp, status.HTTP_200_OK)
485485

486-
page = Page[WorkspaceGet].parse_obj(await resp.json())
486+
page = Page[WorkspaceGet].model_validate(await resp.json())
487487
assert page.meta.total == 1
488-
assert page.data[0].dict(exclude=_exclude_attrs) == workspace.dict(
488+
assert page.data[0].model_dump(exclude=_exclude_attrs) == workspace.model_dump(
489489
exclude=_exclude_attrs
490490
)
491491

@@ -496,5 +496,5 @@ async def test_trash_empty_workspace(
496496
resp = await client.get("/v0/workspaces", params={"filters": '{"trashed": true}'})
497497
await assert_status(resp, status.HTTP_200_OK)
498498

499-
page = Page[WorkspaceGet].parse_obj(await resp.json())
499+
page = Page[WorkspaceGet].model_validate(await resp.json())
500500
assert page.meta.total == 0

services/web/server/tests/unit/with_dbs/04/workspaces/test_workspaces.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ async def test_workspaces_workflow(
9393
resp, status.HTTP_200_OK, include_meta=True, include_links=True
9494
)
9595
assert len(data) == 1
96-
assert WorkspaceGet.parse_obj(data[0]) == added_workspace
96+
assert WorkspaceGet.model_validate(data[0]) == added_workspace
9797
assert meta["count"] == 1
9898
assert links
9999

@@ -126,7 +126,7 @@ async def test_workspaces_workflow(
126126
resp = await client.get(f"{url}")
127127
data, _ = await assert_status(resp, status.HTTP_200_OK)
128128
assert len(data) == 1
129-
assert WorkspaceGet.parse_obj(data[0]) == replaced_workspace
129+
assert WorkspaceGet.model_validate(data[0]) == replaced_workspace
130130

131131
# DELETE a workspace
132132
url = client.app.router["delete_workspace"].url_for(

services/web/server/tests/unit/with_dbs/04/workspaces/test_workspaces__folders_and_projects_crud.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,7 @@ async def test_workspaces_delete_folders(
296296
},
297297
)
298298
data, _ = await assert_status(resp, status.HTTP_201_CREATED)
299-
added_workspace = WorkspaceGet.parse_obj(data)
299+
added_workspace = WorkspaceGet.model_validate(data)
300300

301301
# Create project in workspace
302302
project_data = deepcopy(fake_project)

0 commit comments

Comments
 (0)