Subversion Repositories HomeAutomation

Rev

Rev 738 | Rev 749 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed

Rev 738 Rev 748
Line 135... Line 135...
135
        self.dynamicModuleCfg = DynamicModuleCfg(self.FILTER_SUBDIR)
135
        self.dynamicModuleCfg = DynamicModuleCfg(self.FILTER_SUBDIR)
136
   
136
   
137
    def loadFilter(self, name):
137
    def loadFilter(self, name):
138
        newFilt = self.dynamicModuleCfg.loadModule(name)
138
        newFilt = self.dynamicModuleCfg.loadModule(name)
139
        if newFilt is not None:
139
        if newFilt is not None:
140
            filterModules[name] = newFilt
140
            self.filterModules[name] = newFilt
141
            return True
141
            return True
142
        else:
142
        else:
143
            return False
143
            return False
144
 
144
 
145
    def loadFilters(self, config = None):
145
    def loadFilters(self, config = None):
Line 165... Line 165...
165
       
165
       
166
 
166
 
167
class StateSpaceCfg:
167
class StateSpaceCfg:
168
    """State space resource manager"""
168
    """State space resource manager"""
169
   
169
   
170
    REQUIRED_ATTRIBUTES = ['DESCRIPTIVE_NAME',
170
    REQUIRED_ATTRIBUTES = ['DESCRIPTIVE_NAME', 'RELATED_SPACES'
171
                           'load', 'reset', 'run', 'unload']
171
                           'load', 'reset', 'run', 'unload']
172
   
172
   
173
    dynamicModuleCfg = None
173
    dynamicModuleCfg = None
174
    FILTER_SUBDIR = 'statespaces'
174
    FILTER_SUBDIR = 'statespaces'
175
    spaceModules = {}
175
    spaceModules = {}
Line 178... Line 178...
178
        self.dynamicModuleCfg = DynamicModuleCfg(self.FILTER_SUBDIR)
178
        self.dynamicModuleCfg = DynamicModuleCfg(self.FILTER_SUBDIR)
179
   
179
   
180
    def loadSpace(self, name):
180
    def loadSpace(self, name):
181
        newSpace = self.dynamicModuleCfg.loadModule(name)
181
        newSpace = self.dynamicModuleCfg.loadModule(name)
182
        if newSpace is not None:
182
        if newSpace is not None:
183
            spaceModules[name] = newFilt
183
            self.spaceModules[name] = newFilt
184
            return True
184
            return True
185
        else:
185
        else:
186
            return False
186
            return False
187
 
187
 
188
    def loadSpaces(self, config = None):
188
    def loadSpaces(self, config = None):
Line 226... Line 226...
226
                if self.stateSpaceCfg.spaceModules.has_key(s):
226
                if self.stateSpaceCfg.spaceModules.has_key(s):
227
                    assocSpaces.append(self.stateSpaceCfg.spaceModules[s])
227
                    assocSpaces.append(self.stateSpaceCfg.spaceModules[s])
228
                else:
228
                else:
229
                    print 'WARNING: Reference to undefined state space: ' + s
229
                    print 'WARNING: Reference to undefined state space: ' + s
230
            setattr(f, '__ASSOCIATED_SPACES__', assocSpaces)
230
            setattr(f, '__ASSOCIATED_SPACES__', assocSpaces)
-
 
231
   
-
 
232
 
-
 
233
    def setupStateSpaceRelations(self):
-
 
234
        for sm in self.stateSpaceCfg.spaceModules:
-
 
235
            relatedSpaceNames = self.stateSpaceCfg.spaceModules[sm].RELATED_SPACES
-
 
236
            relatedSpaces = {}
-
 
237
            for rsname in relatedSpaceNames:
-
 
238
                relatedSpaces[rsname] = self.stateSpaceCfg.spaceModules[rsname]
-
 
239
            setattr(sm, '__RELATED_SPACES__', relatedSpaces)
231
   
240