From 3fa8805c9616056b3d17310657d55643288f869f Mon Sep 17 00:00:00 2001 From: lbessard Date: Thu, 28 Aug 2008 12:28:41 +0000 Subject: [PATCH] Some instance type test improved Bug with $NODEID not in uppercase fixed --- objdictgen/eds_utils.py | 8 ++++---- objdictgen/node.py | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/objdictgen/eds_utils.py b/objdictgen/eds_utils.py index 05fb083..f966c70 100644 --- a/objdictgen/eds_utils.py +++ b/objdictgen/eds_utils.py @@ -391,12 +391,12 @@ def ParseEDSFile(filepath): attributes = "Attribute \"%s\" is"%unsupported[0] raise SyntaxError, "Error on section \"[%s]\":\n%s unsupported for a%s entry"%(section_name, attributes, ENTRY_TYPES[values["OBJECTTYPE"]]["name"]) - VerifyValue(values, "ParameterValue") - VerifyValue(values, "DefaultValue") + VerifyValue(values, section_name, "ParameterValue") + VerifyValue(values, section_name, "DefaultValue") return eds_dict -def VerifyValue(values, param): +def VerifyValue(values, section_name, param): if param.upper() in values: try: if values["DATATYPE"] in (0x09, 0x0A, 0x0B, 0x0F): @@ -406,7 +406,7 @@ def VerifyValue(values, param): elif values["DATATYPE"] == 0x01: values[param.upper()] = {0 : False, 1 : True}[values[param.upper()]] else: - if type(values[param.upper()]) != IntType and values[param.upper()].find("$NODEID") == -1: + if not isinstance(values[param.upper()], (IntType, LongType)) and values[param.upper()].upper().find("$NODEID") == -1: raise except: raise SyntaxError, "Error on section \"[%s]\":\n%s incompatible with DataType"%(section_name, param) diff --git a/objdictgen/node.py b/objdictgen/node.py index 38ae5b0..2d846ba 100755 --- a/objdictgen/node.py +++ b/objdictgen/node.py @@ -917,12 +917,12 @@ class Node: return result def CompileValue(self, value, index, compute = True): - if type(value) == StringType and value.find("$NODEID") != -1: + if isinstance(value, (StringType, UnicodeType)) and value.find("$NODEID") != -1: base = self.GetBaseIndex(index) try: raw = eval(value) if compute: - return eval(raw.replace("$NODEID","self.ID")) + return eval(raw.upper().replace("$NODEID","self.ID")) return raw except: return 0 -- 2.39.2