コード例 #1
0
 def __init__(self, name, event, bindings, taskexpr, procedure,
              synchronous):
     self._procedure = procedure
     self._synchronous = synchronous
     TaskExprTFrame.__init__(self, name, event, bindings, taskexpr)
     #self._started = False
     self._cached_roles = None
コード例 #2
0
 def tf_set_completed(self, agent, result):
     if result is SUCCESS:
         # TODO: should run bindings.bformals to evaluate formals and match actual output params
         # This will allow the MinusPrefix hack to be fixed
         agent.post_event(ProcedureSucceededEvent(self))
     else:
         agent.post_event(ProcedureFailedEvent(self, result))
     TaskExprTFrame.tf_set_completed(self, agent, result)
コード例 #3
0
ファイル: procedure.py プロジェクト: jbalint/spark
 def tf_set_completed(self, agent, result):
     if result is SUCCESS:
         # TODO: should run bindings.bformals to evaluate formals and match actual output params
         # This will allow the MinusPrefix hack to be fixed
         agent.post_event(ProcedureSucceededEvent(self))
     else:
         agent.post_event(ProcedureFailedEvent(self, result))
     TaskExprTFrame.tf_set_completed(self, agent, result)
コード例 #4
0
 def tframes(self, agent, event, bindings, zexpr):
     b = self.make_bindings(agent, bindings, zexpr)
     #XXX needs a better name. update (kwc): using agent.nextid() now
     if b:
         name = "Closure.%s" % agent.nextid()
         return [TaskExprTFrame(name, event, b, self.closed_zexpr[1])]
     else:
         return []
コード例 #5
0
 def tenter(self, agent, tframe, zexpr):
     raise Unimplemented("Haven't fixed ApplyTask yet")
     oldbindings = tframe.getBaseBindings()
     closure_value = termEvalErr(agent, oldbindings, zexpr[0])
     closed_zexpr = closure_value.closed_zexpr
     bindings = closure_value.make_bindings(agent, oldbindings, zexpr[1:])
     event = PseudoGoalEvent(tframe, self)
     tframe._subgoal_event = event
     name = "%s.%s" % (tframe.name(), self.label())
     event.addTFrame(TaskExprTFrame(name, event, bindings, closed_zexpr))
     step_fn(agent, tframe, EXECUTING, zexpr)
     return tframe.tfpost_subgoal(agent, event)
コード例 #6
0
 def tfcont(self, agent):
     return TaskExprTFrame.tfcont(self, agent)
コード例 #7
0
 def constructor_args(self):
     args = TaskExprTFrame.constructor_args(self)
     return args + [self._procedure, int(self._synchronous)]
コード例 #8
0
 def tf_is_sync(self):
     if self._synchronous:
         return TaskExprTFrame.tf_is_sync(self)
     else:
         return None
コード例 #9
0
ファイル: procedure.py プロジェクト: jbalint/spark
 def tfcont(self, agent):
     return TaskExprTFrame.tfcont(self, agent)                            
コード例 #10
0
ファイル: procedure.py プロジェクト: jbalint/spark
 def constructor_args(self):
     args = TaskExprTFrame.constructor_args(self)
     return args + [self._procedure, int(self._synchronous)]
コード例 #11
0
ファイル: procedure.py プロジェクト: jbalint/spark
 def tf_is_sync(self):
     if self._synchronous:
         return TaskExprTFrame.tf_is_sync(self)
     else:
         return None
コード例 #12
0
ファイル: procedure.py プロジェクト: jbalint/spark
 def __init__(self, name, event, bindings, taskexpr, procedure, synchronous):
     self._procedure = procedure
     self._synchronous = synchronous
     TaskExprTFrame.__init__(self, name, event, bindings, taskexpr)
     #self._started = False
     self._cached_roles = None