Skip to content

Commit ec1cbc8

Browse files
committed
temp: NodeDict.update hack
Just a temporary solution. Will be removed shortly
1 parent 15a19f5 commit ec1cbc8

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

nx_arangodb/classes/dict.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -715,9 +715,21 @@ def clear(self) -> None:
715715

716716
@keys_are_strings
717717
@logger_debug
718-
def update(self, nodes: Any) -> None:
718+
def update(self, nodes: dict[str, dict[str, Any]]) -> None:
719719
"""g._node.update({'node/1': {'foo': 'bar'}, 'node/2': {'baz': 'qux'}})"""
720-
raise NotImplementedError("NodeDict.update()")
720+
# TODO: Remove in preparation for GA-153
721+
# This is just a temporary solution to test something out
722+
import networkx as nx
723+
724+
config = nx.config.backends.arangodb
725+
sample_node_id = next(iter(nodes.keys()))
726+
collection = sample_node_id.split("/")[0]
727+
nodes_list = [
728+
{"_id": node_id, **node_data} for node_id, node_data in nodes.items()
729+
]
730+
self.db.collection(collection).import_bulk(
731+
nodes_list, batch_size=config.write_batch_size, on_duplicate="update"
732+
)
721733

722734
@logger_debug
723735
def values(self) -> Any:

nx_arangodb/classes/reportviews.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ def data(self, data=True, default=None):
2121
return self
2222
return CustomNodeDataView(self._nodes, data, default)
2323

24+
def update(self, data):
25+
self._nodes.update(data)
26+
2427

2528
class CustomNodeDataView(nx.classes.reportviews.NodeDataView):
2629
def __iter__(self):

0 commit comments

Comments
 (0)