Refactored sdp serializers

This commit is contained in:
2019-10-21 16:13:56 +02:00
parent 3f423454c8
commit 8f1c2ed818
13 changed files with 1353 additions and 13 deletions
+11 -4
View File
@@ -2,6 +2,7 @@ import os
from dataclasses import dataclass
from core.concept import Concept
from sdp.sheerkaDataProvider import SheerkaDataProvider
class Singleton(type):
@@ -52,6 +53,8 @@ class Sheerka(Concept, metaclass=Singleton):
self.create_builtin_concepts()
self.sdp = None
def create_builtin_concepts(self):
"""
Initializes the builtin concepts
@@ -62,7 +65,7 @@ class Sheerka(Concept, metaclass=Singleton):
self.concepts.append(Concept(Sheerka.SUCCESS_CONCEPT_NAME))
self.concepts.append(Concept(Sheerka.ERROR_CONCEPT_NAME))
def initialize(self, root_folder):
def initialize(self, root_folder=None):
"""
Starting Sheerka
Loads the current configuration
@@ -70,10 +73,9 @@ class Sheerka(Concept, metaclass=Singleton):
:param root_folder: root configuration folder
:return: ReturnValue(Success or Error)
"""
# create the folder configuration folder if needed
try:
if not os.path.exists(root_folder):
os.makedirs(root_folder)
self.sdp = SheerkaDataProvider(root_folder)
except IOError as e:
return ReturnValue(False, self.get_concept(Sheerka.ERROR_CONCEPT_NAME, True), e)
@@ -101,3 +103,8 @@ class Sheerka(Concept, metaclass=Singleton):
return False
return concept1.id == concept2.id
def record_event(self, event):
self.sdp.save_event(event)