コード例 #1
0
 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))
コード例 #2
0
ファイル: mpeg_audio.py プロジェクト: AdriSol/metagoofil
 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))
コード例 #3
0
    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)
コード例 #4
0
    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)