def reloadConfig(self):
        # host configuration by main.ini and matched {subnet}.{ip}.ini
        self.config = configBuilder(self.appDir + os.sep + 'config')
        isMatched = self.config.buildHostConfig(getSubnet(), getIp())

        if not isMatched:
            self.log('ERROR', 'Config for host not found, execution disabled.')
            sys.exit(1)
        self.log('INFO', 'Host ip: %s' % (getCurrentHostIp(),))
        self.log('INFO', 'Matched config: %s' % (self.config.hostConfig,))
    def getActiveTasks(self, taskList, execPrefix='+'):
        """
        Build list of active tasks (with exec prefix).

        @param taskList:
        @param execPrefix:
        @return:
        """
        execPrefixLength = len(execPrefix)
        tasks = {}
        for itemName, itemValue in taskList.iteritems():
            if itemName[: execPrefixLength] == execPrefix:
                # get file extension
                #ext = itemName[execPrefixLength:].split('.')[-1]
                # TODO: remove hardcoded value
                ext = 'ini'
                # get task name without extension and exec prefix
                #taskName = itemName[execPrefixLength: len(itemName) - len(ext) - 1]
                taskName = itemName[execPrefixLength: len(itemName)]
                taskDir = os.path.dirname(itemValue)
                taskConfig = configBuilder(taskDir, '%s.%s' % (itemName, ext, ))
                taskObject = self.getTaskObject(taskName, taskConfig)
                # task dotted-style route from task config file, relative from tasks directory
                taskRoute = '%s.%s' % (self.getTaskRoute(taskDir), taskName, )
                taskObject.setRoute(taskRoute)
                tasks.update({
                    #taskName: {
                    taskRoute: {
                        'name': taskName,
                        'task': taskObject,
                        'ext': ext,
                        'file': itemValue,
                        'fileName': itemName,
                        'route': taskRoute,
                    }
                })
        return tasks
Example #3
0
 def appConfigure(self):
     self.app = application()
     self.app.setup()
     self.app.config = configBuilder(self.app.appDir + os.sep + "config")
     self.app.config.buildHostConfig(getSubnet(), getIp())