objdictgen/node.py
changeset 274 39beb1c7542a
parent 273 58b39f97e352
child 281 685d9a26e4f9
equal deleted inserted replaced
273:58b39f97e352 274:39beb1c7542a
   829                 for subidx, value in enumerate(values):
   829                 for subidx, value in enumerate(values):
   830                     subentry_infos = self.GetSubentryInfos(index, subidx + 1)
   830                     subentry_infos = self.GetSubentryInfos(index, subidx + 1)
   831                     if index == 0x1F22 and value:
   831                     if index == 0x1F22 and value:
   832                         nb_params = BE_to_LE(value[:4])
   832                         nb_params = BE_to_LE(value[:4])
   833                         data = value[4:]
   833                         data = value[4:]
   834                         value = str(nb_params)
   834                         value = "%d arg defined"%nb_params
   835                         i = 0
   835                         i = 0
       
   836                         count = 1
   836                         while i < len(data):
   837                         while i < len(data):
   837                             value += "\n\t"
   838                             value += "\n%04X %02X, arg %d: "%(index, subidx+1, count)
   838                             value += "%4.4X"%BE_to_LE(data[i:i+2])
   839                             value += "%04X"%BE_to_LE(data[i:i+2])
   839                             value += " %2.2X"%BE_to_LE(data[i+2:i+3])
   840                             value += " %02X"%BE_to_LE(data[i+2:i+3])
   840                             size = BE_to_LE(data[i+3:i+7])
   841                             size = BE_to_LE(data[i+3:i+7])
   841                             value += " %8.8X"%size
   842                             value += " %08X"%size
   842                             value += (" %"+"%d"%(size * 2)+"."+"%d"%(size * 2)+"X")%BE_to_LE(data[i+7:i+7+size])
   843                             value += (" %0"+"%d"%(size * 2)+"X")%BE_to_LE(data[i+7:i+7+size])
   843                             i += 7 + size
   844                             i += 7 + size
       
   845                             count += 1
   844                     elif isinstance(value, IntType):
   846                     elif isinstance(value, IntType):
   845                         value = "%X"%value
   847                         value = "%X"%value
   846                     result += "  %3.3d (%s): %s\n"%(subidx+1, subentry_infos["name"], value)
   848                     result += "%04X %02X (%s): %s\n"%(index, subidx+1, subentry_infos["name"], value)
   847             else:
   849             else:
       
   850                 if isinstance(values, IntType):
       
   851                     values = "%X"%values
   848                 result += "%04X (%s): %s\n"%(index, name, values)
   852                 result += "%04X (%s): %s\n"%(index, name, values)
   849         return result
   853         return result
   850             
   854             
   851     def CompileValue(self, value, index):
   855     def CompileValue(self, value, index):
   852         if type(value) == StringType and value.find("self.ID") != -1:
   856         if type(value) == StringType and value.find("self.ID") != -1: