コード例 #1
0
    def __init__(self, envPath):
        self.logger = log.PythonLoggingObserver(
            "dobozweb.core.components.environments.environmentManager")
        self.path = EnvironmentManager.envPath
        self.idCounter = EnvironmentManager.idCounter

        self._signal_channel = "environment_manager"
        self.signalHandler = SignalHander(self._signal_channel)
コード例 #2
0
 def __init__(self, parentEnvironment):
     self.logger = log.PythonLoggingObserver(
         "dobozweb.core.components.nodes.nodeManager")
     self.parentEnvironment = parentEnvironment
     self.nodes = {}
     self.lastNodeId = 0
     self._signal_channel = "node_manager"
     self.signalHandler = SignalHander(self._signal_channel)
     self.signal_channel_prefix = "environment_" + str(
         self.parentEnvironment.id)
コード例 #3
0
    def __init__(self, rootUri="http://localhost"):
        DefaultRestHandler.__init__(self, rootUri)
        self.valid_contentTypes.append("application/pollapli.eventList+json")
        self.validGetParams.append('altTimeStamp')

        self._signal_channel = "global_event_listener"
        self.signalHandler = SignalHander(self._signal_channel)
        self.signalHandler.add_handler(channel="driver_manager",
                                       handler=self._signal_Handler)
        self.signalHandler.add_handler(channel="update_manager",
                                       handler=self._signal_Handler)
        self.signalHandler.add_handler(channel="environment_manager",
                                       handler=self._signal_Handler)
        self.signalHandler.add_handler(channel="node_manager",
                                       handler=self._signal_Handler)
        self.lastSignal = DispatchableEvent()

        self.clientHandler = ClientHandler()
コード例 #4
0
    def __init__(self,
                 type="node",
                 name="base_node",
                 description="base node",
                 options={},
                 *args,
                 **kwargs):
        DBObject.__init__(self, **kwargs)
        self.logger = log.PythonLoggingObserver(
            "dobozweb.core.components.nodes.node")
        self.name = name
        self.type = type
        self.description = description
        self.extra_params = options

        self.status = NodeStatus()
        self.driver = None

        #################
        self.variables = []
        self.elements = []
        self.tools = []
        """this is to ensure no 'asynch clash' occurs when replacing the current driver"""
        self.driverLock = defer.DeferredSemaphore(1)
        #self.rootElement=NodeComponent("root")

        self.testElement = None
        self.variable_test()
        #self.link_componentToEndpoint()
        #self.linkedElements=[]
        """this is for internal comms handling"""
        self.signal_channel_prefix = str(self.id)
        self._signal_channel = "node" + self.signal_channel_prefix + "." + self.name
        self.signalHandler = SignalHander(self._signal_channel)
        self.signalHandler.add_handler(handler=self.variable_get, signal="get")
        self.signalHandler.add_handler(handler=self.variable_set, signal="set")
コード例 #5
0
ファイル: server_old.py プロジェクト: kaosat-dev/Pollapli
    def __init__(self,port,rootPath,filePath,dataPath):
        #app = Application("PollapliServer")
        self.port=port
        self.rootPath=rootPath
        self.filePath=filePath
        self.dataPath=dataPath
        self.logPath=dataPath
        self.updates_path=os.path.join(dataPath,"updates")
        self.addOnsPath=os.path.join(self.rootPath,"addons")
        self.environmentsPath=os.path.join(self.dataPath,"environments")
        self.depenciesPath=os.path.join(self.rootPath,"dependencies")
        if not os.path.exists(self.rootPath):
            os.makedirs(self.rootPath)
        if not os.path.exists(self.dataPath):
            os.makedirs(self.dataPath)
        if not os.path.exists(self.updates_path):
            os.makedirs(self.updates_path)
        if not os.path.exists(self.addOnsPath):
            os.makedirs(self.addOnsPath)
        if not os.path.exists(self.environmentsPath):
            os.makedirs(self.environmentsPath)
        

        
        """""""""""""""""""""""""""""""""""""""""
        Initialize various subsystems /set correct paths
        """
        UpdateManager._addon_path=self.addOnsPath
        UpdateManager.updates_path=self.updates_path
        EnvironmentManager.envPath=self.environmentsPath
        FileManager.rootDir=self.dataPath        
        FileManager.corePath=os.path.join(self.rootPath,"core")
        
        FileManager.rootPath=self.rootPath    
        FileManager.filePath=self.filePath    
        FileManager.uploadPath=os.path.join(self.dataPath,"uploads")
        FileManager.dataPath=self.dataPath
        FileManager.logPath=self.logPath
        FileManager.updates_path=self.updates_path
        FileManager._addon_path=self.addOnsPath
        FileManager.depenciesPath=self.depenciesPath
        
        if not os.path.exists(FileManager.uploadPath):
            os.makedirs(FileManager.uploadPath)
        
        self.environmentManager=EnvironmentManager(self.dataPath)
        
        """"""""""""""""""""""""""""""""""""""
        exceptionConverter=ExceptionConverter()
        exceptionConverter.add_exception(ParameterParseException,400 ,1,"Params parse error")
        exceptionConverter.add_exception(UnhandledContentTypeException,415 ,2,"Bad content type")
        exceptionConverter.add_exception(EnvironmentAlreadyExists,409 ,3,"Environment already exists")
        exceptionConverter.add_exception(EnvironmentNotFound,404 ,4,"Environment not found")
        exceptionConverter.add_exception(UnknownDeviceType,500 ,5,"Unknown node type")
        exceptionConverter.add_exception(DeviceNotFound,404 ,6,"Node not found")
        exceptionConverter.add_exception(NoDriverSet,404,7,"Node has no connector")
        exceptionConverter.add_exception(UnknownDriver,500,8,"Unknown connector driver type")
        exceptionConverter.add_exception(DeviceHandshakeMismatch,500,9,"Device handshake failed to match the one defined by the driver")
        exceptionConverter.add_exception(InvalidFile,500,10,"Invalid File")
        exceptionConverter.add_exception(DeviceNotConnected,500,11,"Attempting to communicate with not connected device")
        
        self._signal_channel="main_signal_listener"
        self.signalHandler=SignalHander(self._signal_channel)
        self.signalHandler.add_handler(channel="driver_manager")   
        self.signalHandler.add_handler(channel="update_manager")
        self.signalHandler.add_handler(channel="environment_manager")
        self.signalHandler.add_handler(channel="node_manager")
        
        self.setup()
コード例 #6
0
ファイル: task.py プロジェクト: kaosat-dev/Pollapli
 def __init__(self, parentEnvironment):
     self.tasks = {}
     self.parentEnvironment = parentEnvironment
     self._signal_channel = "task_manager"
     self.signalHandler = SignalHander(self._signal_channel)