def getAttributeValue(self, index): _type = self.axml.getAttributeValueType(index) _data = self.axml.getAttributeValueData(index) if _type == self.TYPE_STRING: return self.axml.getAttributeValue(index) elif _type == self.TYPE_ATTRIBUTE: return "?%s%08X" % (self.getPackage(_data), _data) elif _type == self.TYPE_REFERENCE: return "@%s%08X" % (self.getPackage(_data), _data) elif _type == self.TYPE_FLOAT: return "%f" % unpack("=f", pack("=L", _data))[0] elif _type == self.TYPE_INT_HEX: return "0x%08X" % _data elif _type == self.TYPE_INT_BOOLEAN: if _data == 0: return "false" return "true" elif _type == self.TYPE_DIMENSION: return "%f%s" % (Utils.complexToFloat(_data), self.DIMENSION_UNITS[_data & self.COMPLEX_UNIT_MASK]) elif _type == self.TYPE_FRACTION: return "%f%s" % (Utils.complexToFloat(_data) * 100, self.FRACTION_UNITS[_data & self.COMPLEX_UNIT_MASK]) elif _type >= self.TYPE_FIRST_COLOR_INT and _type <= self.TYPE_LAST_COLOR_INT: return "#%08X" % _data elif _type >= self.TYPE_FIRST_INT and _type <= self.TYPE_LAST_INT: return "%d" % Utils.long_to_int(_data) return "<0x%X, type 0x%02X>" % (_data, _type)