Bladeren bron

Merged branch master into dev

nico 8 jaren geleden
bovenliggende
commit
a8340f8a15

+ 21 - 0
core/ConfigurationManager/BrainLoader.py

@@ -0,0 +1,21 @@
+from YAMLLoader import YAMLLoader
+
+class BrainLoader(YAMLLoader):
+
+    FILE_NAME = "brain.yml"
+
+    def __init__(self):
+        self.fileName =  self.FILE_NAME
+        self.filePath = "../../" + self.fileName
+        YAMLLoader.__init__(self, self.filePath)
+
+    def __init__(self, filename):
+        self.fileName = filename
+        self.filePath = "../../" + self.fileName
+        YAMLLoader.__init__(self, self.filePath)
+
+    def get_config(self):
+        return YAMLLoader.get_config(self)
+
+
+

+ 11 - 0
core/ConfigurationManager/ConfigurationManager.py

@@ -0,0 +1,11 @@
+from BrainLoader import BrainLoader
+from SettingLoader import SettingLoader
+
+class ConfigurationManager() :
+
+    BRAIN_FILE_NAME = "brain.yml"
+    SETTING_FILE_NAME = "settings.yml"
+
+    def __init__(self):
+        self.brainLoader = BrainLoader(self.BRAIN_FILE_NAME)
+        self.settingLoader = SettingLoader(self.SETTING_FILE_NAME)

+ 18 - 0
core/ConfigurationManager/SettingLoader.py

@@ -0,0 +1,18 @@
+from YAMLLoader import YAMLLoader
+
+class SettingLoader(YAMLLoader) :
+
+    FILE_NAME = "settings.yml"
+
+    def __init__(self):
+        self.fileName =  self.FILE_NAME
+        self.filePath = "../../" + self.fileName
+        YAMLLoader.__init__(self, self.filePath)
+
+    def __init__(self, filename):
+        self.fileName = filename
+        self.filePath = "../../" + self.fileName
+        YAMLLoader.__init__(self, self.filePath)
+
+    def get_config(self):
+        return YAMLLoader.get_config(self)

+ 18 - 0
core/ConfigurationManager/YAMLLoader.py

@@ -0,0 +1,18 @@
+import os
+import yaml
+
+class YAMLLoader() :
+
+    def __init__(self, file):
+        self.file = file
+
+    def get_config(self):
+        """
+        Load settings file
+        :return: cfg : the configuration file
+        """
+        # Load settings. Will be used to convert slot number into GPIO pin number
+        __location__ = os.path.realpath(os.path.join(os.getcwd(), os.path.dirname(__file__)))
+        with open(os.path.join(__location__, self.file)) as ymlfile:
+            cfg = yaml.load(ymlfile)
+        return cfg

+ 1 - 0
core/ConfigurationManager/__init__.py

@@ -0,0 +1 @@
+from YAMLLoader import YAMLLoader

+ 5 - 0
core/MainController.py

@@ -1,11 +1,16 @@
 from core.JarvisTrigger import JarvisTrigger
 from core.OrderAnalyser import OrderAnalyser
 from core.OrderListener import OrderListener
+from core.ConfigurationManager.ConfigurationManager import ConfigurationManager
+
 from neurons import Say
 
 
 class MainController:
     def __init__(self):
+        # Manage Global Configuration
+        self.conf = ConfigurationManager()
+
         # create an order listener object
         self.order_listener = OrderListener(self)
         # Wait that the jarvis trigger is pronounced by the user

+ 1 - 2
core/OrderAnalyser.py

@@ -1,4 +1,3 @@
-from Utils import *
 import re
 
 
@@ -11,7 +10,7 @@ class OrderAnalyser:
         """
         self.main_controller = main_controller
         self.order = order
-        self.brain = get_brain()
+        self.brain = main_controller.conf.brainLoader.get_config() # Bouh ! pas beau !
         print "Receiver order: %s" % self.order
 
     def start(self):

+ 5 - 1
core/__init__.py

@@ -1 +1,5 @@
-from Neurone import Neurone
+from Neurone import Neurone
+from core.JarvisTrigger import JarvisTrigger
+from core.OrderAnalyser import OrderAnalyser
+from core.OrderListener import OrderListener
+from core.ConfigurationManager.ConfigurationManager import ConfigurationManager