Working on manager
This commit is contained in:
parent
597ee31c54
commit
cf2379c5ec
3 changed files with 32 additions and 0 deletions
0
core/__init__.py
Normal file
0
core/__init__.py
Normal file
32
core/manager.py
Normal file
32
core/manager.py
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
from state.base import State
|
||||||
|
from uuid import UUID
|
||||||
|
|
||||||
|
|
||||||
|
class Manager:
|
||||||
|
def __init__(self, state: State):
|
||||||
|
self._state = state
|
||||||
|
bottom = self._state.create_node()
|
||||||
|
bottom_id = self._state.create_nodevalue(str(bottom))
|
||||||
|
bottom_label = self._state.create_nodevalue("Bottom")
|
||||||
|
to_uuid = self._state.create_edge(self._state.read_root(), bottom_id)
|
||||||
|
to_label = self._state.create_edge(self._state.read_root(), bottom_label)
|
||||||
|
self._state.create_edge(to_label, bottom_id)
|
||||||
|
self._state.create_edge(to_uuid, bottom_label)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def models(self):
|
||||||
|
root = self._state.read_root()
|
||||||
|
for key in self._state.read_dict_keys(root):
|
||||||
|
try:
|
||||||
|
UUID(key) # checks whether the key is a valid UUID
|
||||||
|
name_node = self._state.read_dict(root, key)
|
||||||
|
name = self._state.read_value(name_node)
|
||||||
|
yield key, name
|
||||||
|
except ValueError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
from state.devstate import DevState
|
||||||
|
m = Manager(DevState())
|
||||||
|
print(list(m.models))
|
||||||
0
services/__init__.py
Normal file
0
services/__init__.py
Normal file
Loading…
Add table
Add a link
Reference in a new issue