diff options
Diffstat (limited to 'behaviors/AddPixelEvent.py')
-rw-r--r-- | behaviors/AddPixelEvent.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/behaviors/AddPixelEvent.py b/behaviors/AddPixelEvent.py new file mode 100644 index 0000000..7f134e1 --- /dev/null +++ b/behaviors/AddPixelEvent.py @@ -0,0 +1,26 @@ +from operationscore.Behavior import * +import util.Strings as Strings +from logger import main_log +class AddPixelEvent(Behavior): + def behaviorInit(self): + [module, className] = self['Class'].split('.') + try: + exec('from ' + module+'.'+className + ' import *', globals()) + except Exception as inst: + main_log.error('Error importing ' + module+'.'+className+ '. Component not\ + initialized.') + main_log.error(str(inst)) + self.eventGenerator = eval('lambda args:'+className+'(args)') + + #^lambda function to do generate new event (takes args) + + def processResponse(self, sensors, recurses): + ret = [] + for sensory in sensors: + outDict = {} + outDict[Strings.LOCATION] = sensory[Strings.LOCATION] + settingsDict = dict(self.argDict) + settingsDict['Color'] = sensory['Color'] + outDict['PixelEvent'] = self.eventGenerator(settingsDict) + ret.append(outDict) + return (ret, recurses) |