Refactored some stuff
This commit is contained in:
parent
9b3a4c5a44
commit
f9aa6a8adf
3 changed files with 37 additions and 54 deletions
|
|
@ -1,11 +1,10 @@
|
|||
from services.base import Service, UUID
|
||||
from uuid import UUID
|
||||
from state.base import State
|
||||
from typing import Any, List
|
||||
|
||||
|
||||
class Bottom(Service):
|
||||
def __init__(self, model: UUID, state: State):
|
||||
super().__init__(model)
|
||||
class Bottom:
|
||||
def __init__(self, state: State):
|
||||
self.state = state
|
||||
|
||||
def create_node(self, value=None) -> UUID:
|
||||
|
|
@ -20,9 +19,6 @@ class Bottom(Service):
|
|||
else:
|
||||
return self.state.create_dict(source, label, target)
|
||||
|
||||
def read_model_root(self) -> UUID:
|
||||
return self.model
|
||||
|
||||
def read_value(self, node: UUID) -> Any:
|
||||
return self.state.read_value(node)
|
||||
|
||||
|
|
@ -68,6 +64,20 @@ class Bottom(Service):
|
|||
edges = [e for e in edges if read_label(e) == label]
|
||||
return edges
|
||||
|
||||
def read_incoming_nodes(self, target: UUID, label=None) -> List[UUID]:
|
||||
edges = self.read_incoming_edges(target, label)
|
||||
if edges is None or len(edges) == 0:
|
||||
return []
|
||||
else:
|
||||
return [self.read_edge_source(e) for e in edges]
|
||||
|
||||
def read_outgoing_nodes(self, source: UUID, label=None) -> List[UUID]:
|
||||
edges = self.read_outgoing_edges(source, label)
|
||||
if edges is None or len(edges) == 0:
|
||||
return []
|
||||
else:
|
||||
return [self.read_edge_target(e) for e in edges]
|
||||
|
||||
def read_keys(self, element: UUID) -> List[str]:
|
||||
key_nodes = self.state.read_dict_keys(element)
|
||||
unique_keys = {self.state.read_value(node) for node in key_nodes}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue