コード例 #1
0
ファイル: json_serialize.py プロジェクト: OEP/rdis
def testValidEval(expression, scope, sem):
    """
  Reports an error in the model if a NameError is raised while
  evaluating 'expression'.
  """
    env = createDummyEnvironment(scope)
    try:
        safeEval(expression, env)
    except Exception as e:
        if isinstance(e, NameError):
            reportError(str(e), sem)
コード例 #2
0
ファイル: rdisWanderer.gen.py プロジェクト: OEP/rdis
def setSpeed_callback(data):
  global gModel

  ## Flatten into tuples
  angular = (data.angular.x, data.angular.y, data.angular.z)
  linear = (data.linear.x, data.linear.y, data.linear.z)

  env = dict()
  env["angular"] = angular
  env["linear"] = linear

  env['angular'] = rdis.safeEval('<angular[0]>', env)
  env['linear'] = rdis.safeEval('<linear[0]>', env)
  
  gModel.callDomainInterface('set_velocity', env)
コード例 #3
0
ファイル: rdisWanderer.gen.py プロジェクト: OEP/rdis
def publish_hitObject(rdisMsg, pub):
  env = dict()
  
  ## Generated initializations from model.
  env['distance'] = rdisMsg['distance']

  ## Generated mappings to ROS bool from any domain adapter of RDIS.
  env['data'] = rdis.safeEval('<distance == 0>', env)

  ## Statements above should have initialized env['data']
  pub.publish(Bool( env['data'] ))
コード例 #4
0
ファイル: json_serialize.py プロジェクト: OEP/rdis
def testType(initValue, ptype, semObj):
    """
  Reports error if initValue does not safeEval() to a Python type which
  corresponds to the RDIS type ptype.
  """
    if initValue == "":
        return
    value = None
    try:
        value = safeEval(initValue, dict())
    except Exception as e:
        reportError(str(e), semObj)
        return

    targetType = mapType(ptype)
    if not isinstance(value, eval(targetType)):
        reportError(
            "Invalid type. Evaluated Python type '{}' but wanted '{}'.".format(repr(type(value)), repr(targetType)),
            semObj,
        )