objdictgen/node.py
changeset 513 f0343a7457b8
parent 510 96d50ac2dea3
child 523 8db762eb756b
equal deleted inserted replaced
512:e84806c0ada4 513:f0343a7457b8
   915                     values = "%X"%values
   915                     values = "%X"%values
   916                 result += "%04X (%s): %s\n"%(index, name, values)
   916                 result += "%04X (%s): %s\n"%(index, name, values)
   917         return result
   917         return result
   918             
   918             
   919     def CompileValue(self, value, index, compute = True):
   919     def CompileValue(self, value, index, compute = True):
   920         if type(value) == StringType and value.find("$NODEID") != -1:
   920         if isinstance(value, (StringType, UnicodeType)) and value.find("$NODEID") != -1:
   921             base = self.GetBaseIndex(index)
   921             base = self.GetBaseIndex(index)
   922             try:
   922             try:
   923                 raw = eval(value)
   923                 raw = eval(value)
   924                 if compute:
   924                 if compute:
   925                     return eval(raw.replace("$NODEID","self.ID"))
   925                     return eval(raw.upper().replace("$NODEID","self.ID"))
   926                 return raw
   926                 return raw
   927             except:
   927             except:
   928                 return 0
   928                 return 0
   929         else:
   929         else:
   930             return value
   930             return value