Skip to content

Commit d0ec689

Browse files
committed
Handle none case
1 parent eeb7e26 commit d0ec689

File tree

3 files changed

+39
-30
lines changed

3 files changed

+39
-30
lines changed

justfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ py-sync:
22
cd python-wrapper && uv sync --group dev --group docs --group notebook --extra pandas --extra neo4j --extra gds --extra snowflake
33

44
py-style:
5+
just py-sync
56
./scripts/makestyle.sh && ./scripts/checkstyle.sh
67

78
py-test:

python-wrapper/src/neo4j_viz/widget.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,9 @@ def from_graph_data(
8080
theme=theme,
8181
)
8282

83-
def add_data(self, nodes: Node | list[Node] | None = None, relationships: Relationship | list[Relationship] | None = None) -> None:
83+
def add_data(
84+
self, nodes: Node | list[Node] | None = None, relationships: Relationship | list[Relationship] | None = None
85+
) -> None:
8486
"""
8587
Add nodes or relationships to the graph widget.
8688
@@ -120,17 +122,22 @@ def remove_data(
120122
node_ids_to_remove = {nodes.id}
121123
elif isinstance(nodes, NodeIdType):
122124
node_ids_to_remove = {nodes}
125+
elif nodes is None:
126+
node_ids_to_remove = set()
123127
else:
124128
node_ids_to_remove = {n.id if isinstance(n, Node) else n for n in nodes}
125129

126130
if isinstance(relationships, Relationship):
127131
rel_ids_to_remove = {relationships.id}
128132
elif isinstance(relationships, RelationshipIdType):
129133
rel_ids_to_remove = {relationships}
134+
elif relationships is None:
135+
rel_ids_to_remove = set()
130136
else:
131137
rel_ids_to_remove = {r.id if isinstance(r, Relationship) else r for r in relationships}
132138

133-
self.nodes = [n for n in self.nodes if n["id"] not in node_ids_to_remove]
139+
if node_ids_to_remove:
140+
self.nodes = [n for n in self.nodes if n["id"] not in node_ids_to_remove]
134141

135142
def keep_rel(r: dict[str, Any]) -> bool:
136143
return (
@@ -139,4 +146,5 @@ def keep_rel(r: dict[str, Any]) -> bool:
139146
and r["to"] not in node_ids_to_remove
140147
)
141148

142-
self.relationships = [r for r in self.relationships if keep_rel(r)]
149+
if rel_ids_to_remove:
150+
self.relationships = [r for r in self.relationships if keep_rel(r)]

python-wrapper/uv.lock

Lines changed: 27 additions & 27 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)