parameters: (self)
docstring: Called internally
docstring_summary: Called internally
docstring_tokens: Called internally
function: def _process(self):
          """Called internally"""
          for c in self._inputs._channels:
              c.advance()
          if len(self._inputs._namesToIndices) > 0:  #map to keyword args
              args = {}
              for k,i in self._inputs._namesToIndices.items():
                  args[k] = self._inputs._channels[i]._currentValue
              res = self.advance(**args)
          else:
              args = [c._currentValue for c in self._inputs._channels]
              res = self.advance(*args)
          if res is None:
              if len(self._outputs)!=0:
                  raise ValueError("Block {} produces {} outputs but advance returned None".format(str(self),len(self._outputs)))
          else:
              if len(self._outputs)==1:
                  self._outputs[0].setValue(res)
              else:
                  if len(res) != len(self._outputs):
                      raise ValueError("Block {} produces {} outputs but advance returned {}".format(str(self),len(self._outputs),len(res)))
                  if isinstance(res,dict):
                      #map to outputs using keywords
                      for k,r in res.items():
                          if k not in self._outputs._namesToIndices:
                              raise ValueError("Block {} produces output {} which is not a named output".format(str(self),str(k)))
                          i = self._outputs._namesToIndices[k]
                          self._outputs._channels[i].setValue(r)
                  else:
                      for r,o in zip(res,self._outputs._channels):
                          o.setValue(r)
function_tokens: def _process ( self ) : for c in self . _inputs . _channels : c . advance ( ) if len ( self . _inputs . _namesToIndices ) > 0 : #map to keyword args args = { } for k , i in self . _inputs . _namesToIndices . items ( ) : args [ k ] = self . _inputs . _channels [ i ] . _currentValue res = self . advance ( * * args ) else : args = [ c . _currentValue for c in self . _inputs . _channels ] res = self . advance ( * args ) if res is None : if len ( self . _outputs ) != 0 : raise ValueError ( "Block {} produces {} outputs but advance returned None" . format ( str ( self ) , len ( self . _outputs ) ) ) else : if len ( self . _outputs ) == 1 : self . _outputs [ 0 ] . setValue ( res ) else : if len ( res ) != len ( self . _outputs ) : raise ValueError ( "Block {} produces {} outputs but advance returned {}" . format ( str ( self ) , len ( self . _outputs ) , len ( res ) ) ) if isinstance ( res , dict ) : #map to outputs using keywords for k , r in res . items ( ) : if k not in self . _outputs . _namesToIndices : raise ValueError ( "Block {} produces output {} which is not a named output" . format ( str ( self ) , str ( k ) ) ) i = self . _outputs . _namesToIndices [ k ] self . _outputs . _channels [ i ] . setValue ( r ) else : for r , o in zip ( res , self . _outputs . _channels ) : o . setValue ( r )