Skip to content

Commit 3328469

Browse files
debug submitting of kitems
1 parent 5dc4a62 commit 3328469

4 files changed

Lines changed: 41 additions & 13 deletions

File tree

dsms/knowledge/kitem.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,7 @@ def validate_linked_kitems_list(
297297
"""Validate each single kitem to be linked"""
298298
linked_kitems = []
299299
logger.debug("Found KItem to link: %s", value)
300+
300301
for item in value:
301302
if isinstance(item, dict):
302303
item = KItemRelationshipModel(**item)

dsms/knowledge/properties/linked_kitems.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,9 @@ class KItemRelationshipModel(BaseModel):
3333
"""Data model for a relation between two linked KItems"""
3434

3535
is_incoming: bool = Field(
36-
False, description="Whether the relation is incoming"
36+
False,
37+
description="Whether the relation is incoming",
38+
allow_mutation=False,
3739
)
3840
label: Optional[str] = Field(None, description="Label of the relation")
3941
kitem: Union[KItemCompactedModel, Any] = Field(

dsms/knowledge/utils.py

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -516,18 +516,29 @@ def _get_linked_diffs(
516516
"""Get differences in linked kitem from previous KItem state"""
517517
differences = {}
518518
old_linked = [
519-
old["kitem"].get("id") for old in old_kitem.get("linked_kitems")
519+
{
520+
"id": old["kitem"].get("id"),
521+
"label": old["label"],
522+
"iri": old["iri"],
523+
}
524+
for old in old_kitem.get("linked_kitems")
520525
]
521526
new_linked = [
522-
str(new_kitem.kitem.id) for new_kitem in new_kitem.linked_kitems
527+
{
528+
"id": str(new_kitem.kitem.id),
529+
"label": new_kitem.label,
530+
"iri": new_kitem.iri,
531+
}
532+
for new_kitem in new_kitem.linked_kitems
523533
]
524534
differences["kitems_to_link"] = [
525-
{"id": attr} for attr in new_linked if attr not in old_linked
535+
attr for attr in new_linked if attr not in old_linked
526536
]
527537
differences["kitems_to_unlink"] = [
528-
{"id": attr} for attr in old_linked if attr not in new_linked
538+
attr for attr in old_linked if attr not in new_linked
529539
]
530540
logger.debug("Found differences in linked KItems: %s", differences)
541+
531542
return differences
532543

533544

tests/test_utils.py

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -67,14 +67,22 @@ def test_kitem_diffs(get_mock_kitem_ids, custom_address):
6767
],
6868
"linked_kitems": [
6969
{
70-
"id": str(get_mock_kitem_ids[1]),
71-
"ktype_id": dsms.ktypes.Organization.value,
72-
"name": "foo456",
70+
"iri": "https://example.org/has_part",
71+
"label": "has part",
72+
"kitem": {
73+
"id": str(get_mock_kitem_ids[1]),
74+
"ktype_id": dsms.ktypes.Organization.value,
75+
"name": "foo456",
76+
},
7377
},
7478
{
75-
"id": str(get_mock_kitem_ids[2]),
76-
"ktype_id": dsms.ktypes.Organization.value,
77-
"name": "foo789",
79+
"iri": "https://example.org/has_part",
80+
"label": "has part",
81+
"kitem": {
82+
"id": str(get_mock_kitem_ids[2]),
83+
"ktype_id": dsms.ktypes.Organization.value,
84+
"name": "foo789",
85+
},
7886
},
7987
],
8088
"user_groups": [user_group],
@@ -109,7 +117,8 @@ def test_kitem_diffs(get_mock_kitem_ids, custom_address):
109117

110118
expected = {
111119
"kitems_to_link": [
112-
{"id": str(obj.kitem.id)} for obj in kitem_new.linked_kitems
120+
{"id": str(obj.kitem.id), "label": obj.label, "iri": obj.iri}
121+
for obj in kitem_new.linked_kitems
113122
],
114123
"annotations_to_link": [
115124
{
@@ -129,7 +138,12 @@ def test_kitem_diffs(get_mock_kitem_ids, custom_address):
129138
}
130139
],
131140
"kitems_to_unlink": [
132-
{"id": str(linked.id)} for linked in [linked_kitem1, linked_kitem2]
141+
{
142+
"id": str(linked.id),
143+
"label": "has part",
144+
"iri": "https://example.org/has_part",
145+
}
146+
for linked in [linked_kitem1, linked_kitem2]
133147
],
134148
"annotations_to_unlink": [
135149
{

0 commit comments

Comments
 (0)