コード例 #1
0
 def proc_evt_variable_get(self, task, evt):
     """Process variable_get event."""
     handle = evt.arg('handle', '')
     dest = evt.arg('dest', '')
     if handle == '' and localhost(dest):
         key = evt.arg('key')
         if self.runtime.vars.has_key(key):
             value = self.runtime.vars[key]
             task.proc_cmd(command.variable_value(key, value,
                 handle=handle, dest=dest))
         else:
             task.proc_cmd(command.variable_value(key, None,
                 handle=handle, error="Undefined variable.", dest=dest))
         return True
     else:
         key = evt.arg('key')
         s = repr(("command.variable_value", key, handle, dest))
         if self.__waiting_tasks.has_key(s):
             _, l = self.__waiting_tasks[s]
             if task not in l:
                 l.append(task)
                 log.debug("Controller.__waiting_tasks=%r", self.__waiting_tasks)
             return True
         _, l = self.__waiting_tasks[s] = (evt, [task])
         log.debug("Controller.__waiting_tasks=%r", self.__waiting_tasks)
コード例 #2
0
ファイル: fakesrv.py プロジェクト: beaker-project/beah
 def proc_evt(self, evt):
     evev = evt.event()
     if evev in ['variable_set', 'variable_get']:
         handle = evt.arg('handle', '')
         dest = evt.arg('dest', '')
         key = evt.arg('key')
         if evev == 'variable_set':
             self.set_var(key, handle, dest, evt.arg('value'))
         else:
             value = self.get_var(key, handle, dest)
             return command.variable_value(key, value, handle=handle,
                     dest=dest)