def createDescription(self): info = ["layer %s" % self["layer"].display] bit_rate = self.getBitRate() if bit_rate: info.append("%s/sec" % humanBitSize(bit_rate)) sampling_rate = self.getSampleRate() if sampling_rate: info.append(humanFrequency(sampling_rate)) return "MPEG-%s %s" % (self["version"].display, ", ".join(info))
def update(self, node): if node.depth: text = ' ' * (3 * node.depth - 2) if node.childs: text += '- ' elif node.field.is_field_set: text += '+ ' else: text += ' ' name = node.field.name else: text = '' name = node.field.stream.source if node.field.size: if self.flags & self.use_absolute_address: address = node.field.absolute_address else: address = node.field.address display_bits = (address % 8) != 0 or (node.field.size % 8) != 0 if self.flags & self.hex_address: if display_bits: text += "%04x.%x" % (address/8, address%8) else: text += "%04x" % (address/8) else: if display_bits: text += "%u.%u" % (address/8, address%8) else: text += "%u" % (address/8) text += ") " + name else: text += "-> " + name smart_display = True if self.flags & self.display_value and node.field.hasValue(): if self.flags & self.human_size: display = node.field.display else: display = node.field.raw_display smart_display = False text += "= %s" % display if node.field.description and self.flags & self.display_description: text += ": %s" % node.field.description if self.flags & self.display_size and node.field.size or self.flags & self.display_type: tmp_text = [] if self.flags & self.display_type: tmp_text.append(node.field.getFieldType()) if self.flags & self.display_size: if node.field.size % 8: tmp_text.append( humanBitSize(node.field.size) ) else: size = node.field.size / 8 if not self.flags & self.human_size: tmp_text.append( ngettext("%u byte", "%u bytes", size) % size) else: tmp_text.append( humanFilesize(size) ) text += " (%s)" % ", ".join(tmp_text) text = makePrintable(text, self.charset, to_unicode=True, smart=smart_display) node.setText(text, self.flags)
def update(self, node): if node.depth: text = ' ' * (3 * node.depth - 2) if node.childs: text += '- ' elif node.field.is_field_set: text += '+ ' else: text += ' ' name = node.field.name else: text = '' name = node.field.stream.source if node.field.size: if self.flags & self.use_absolute_address: address = node.field.absolute_address else: address = node.field.address display_bits = (address % 8) != 0 or (node.field.size % 8) != 0 if self.flags & self.hex_address: if display_bits: text += "%04x.%x" % (address/8, address%8) else: text += "%04x" % (address/8) else: if display_bits: text += "%u.%u" % (address/8, address%8) else: text += "%u" % (address/8) text += ") " + name else: text += "-> " + name smart_display = True if self.flags & self.display_value and node.field.hasValue(): if self.flags & self.human_size: display = node.field.display else: display = node.field.raw_display smart_display = False text += "= %s" % display if node.field.description and self.flags & self.display_description: description = node.field.description if not(self.flags & self.human_size): description = makePrintable(description, "ASCII") text += ": %s" % description if self.flags & self.display_size and node.field.size or self.flags & self.display_type: tmp_text = [] if self.flags & self.display_type: tmp_text.append(node.field.getFieldType()) if self.flags & self.display_size: if node.field.size % 8: tmp_text.append( humanBitSize(node.field.size) ) else: size = node.field.size / 8 if not self.flags & self.human_size: tmp_text.append( ngettext("%u byte", "%u bytes", size) % size) else: tmp_text.append( humanFilesize(size) ) text += " (%s)" % ", ".join(tmp_text) text = makePrintable(text, self.charset, to_unicode=True, smart=smart_display) node.setText(text, self.flags)