Implemented SheerkaOntology
This commit is contained in:
@@ -1,5 +1,8 @@
|
||||
from dataclasses import dataclass
|
||||
|
||||
from core.global_symbols import NotFound
|
||||
from core.utils import sheerka_deepcopy
|
||||
|
||||
|
||||
@dataclass
|
||||
class ServiceObj:
|
||||
@@ -21,6 +24,13 @@ class BaseService:
|
||||
"""
|
||||
pass
|
||||
|
||||
def store_values(self, context, *args):
|
||||
"""
|
||||
Use variable Manager to store the state of the service
|
||||
"""
|
||||
for prop_name in args:
|
||||
self.sheerka.record_var(context, self.NAME, prop_name, sheerka_deepcopy(getattr(self, prop_name)))
|
||||
|
||||
def restore_values(self, *args):
|
||||
"""
|
||||
Use Variable Manager to restore the state of a service
|
||||
@@ -28,5 +38,5 @@ class BaseService:
|
||||
:return:
|
||||
"""
|
||||
for prop_name in args:
|
||||
if (value := self.sheerka.load_var(self.NAME, prop_name)) is not None:
|
||||
if (value := self.sheerka.load_var(self.NAME, prop_name)) is not NotFound:
|
||||
setattr(self, prop_name, value)
|
||||
|
||||
Reference in New Issue
Block a user