Skip to content

Commit 41fb88d

Browse files
committed
v1.3.2-beta.4: revised forget node handler to check cache allowing deletion of proposed edges
1 parent cd65c81 commit 41fb88d

2 files changed

Lines changed: 4 additions & 9 deletions

File tree

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "koi-net"
3-
version = "1.3.2-beta.3"
3+
version = "1.3.2-beta.4"
44
description = "Implementation of KOI-net protocol in Python"
55
authors = [
66
{name = "Luke Miller", email = "luke@block.science"}

src/koi_net/components/knowledge_handlers/forget_node_handler.py

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,18 @@
11
from dataclasses import dataclass
22

3-
from rid_lib.types import KoiNetNode
3+
from rid_lib.types import KoiNetEdge, KoiNetNode
44

55
from koi_net.protocol.edge import EdgeProfile
66
from koi_net.protocol.knowledge_object import KnowledgeObject
77
from koi_net.protocol.event import EventType
88
from ..interfaces import KnowledgeHandler, HandlerType
99
from ..kobj_queue import KobjQueue
10-
from ..graph import NetworkGraph
1110
from ..cache import Cache
1211

1312

1413
@dataclass
1514
class ForgetNodeHandler(KnowledgeHandler):
1615
cache: Cache
17-
graph: NetworkGraph
1816
kobj_queue: KobjQueue
1917

2018
handler_type = HandlerType.Final
@@ -26,14 +24,11 @@ def handle(self, kobj: KnowledgeObject):
2624
if kobj.normalized_event_type != EventType.FORGET:
2725
return
2826

29-
for edge in self.graph.dg.edges:
30-
edge_rid = self.graph.dg.get_edge_data(*edge).get('rid')
31-
if not edge_rid:
32-
continue
33-
27+
for edge_rid in self.cache.list_rids(rid_types=[KoiNetEdge]):
3428
edge_bundle = self.cache.read(edge_rid)
3529
if not edge_bundle:
3630
continue
31+
3732
edge_profile = edge_bundle.validate_contents(EdgeProfile)
3833

3934
if kobj.rid in (edge_profile.source, edge_profile.target):

0 commit comments

Comments
 (0)