コード例 #1
0
    def test_save_multiple_padding(self):
        # we don't touch existing padding blocks on save, but will
        # replace them in the file with one at the end

        def num_padding(f):
            blocks = f.metadata_blocks
            return len([b for b in blocks if isinstance(b, Padding)])

        num_blocks = num_padding(self.flac)
        self.assertEqual(num_blocks, 1)
        block = Padding()
        block.length = 42
        self.flac.metadata_blocks.append(block)
        block = Padding()
        block.length = 24
        self.flac.metadata_blocks.append(block)
        self.flac.save()
        self.assertEqual(num_padding(self.flac), num_blocks + 2)

        new = FLAC(self.flac.filename)
        self.assertEqual(num_padding(new), 1)
        self.assertTrue(isinstance(new.metadata_blocks[-1], Padding))
コード例 #2
0
ファイル: test_flac.py プロジェクト: quodlibet/mutagen
    def test_save_multiple_padding(self):
        # we don't touch existing padding blocks on save, but will
        # replace them in the file with one at the end

        def num_padding(f):
            blocks = f.metadata_blocks
            return len([b for b in blocks if isinstance(b, Padding)])

        num_blocks = num_padding(self.flac)
        self.assertEqual(num_blocks, 1)
        block = Padding()
        block.length = 42
        self.flac.metadata_blocks.append(block)
        block = Padding()
        block.length = 24
        self.flac.metadata_blocks.append(block)
        self.flac.save()
        self.assertEqual(num_padding(self.flac), num_blocks + 2)

        new = FLAC(self.flac.filename)
        self.assertEqual(num_padding(new), 1)
        self.assertTrue(isinstance(new.metadata_blocks[-1], Padding))
コード例 #3
0
ファイル: beetFs.py プロジェクト: edk0/beetfs
    def get_header(self, filename=None):
        f = self.fileobj
        f.seek(0)

        self.__check_header(f)
        self.__offset = self.__find_audio_offset(f)
        data = bytearray(b'fLaC')

        for block in self.metadata_blocks:
            if isinstance(block, Padding):
                continue
            data += MetadataBlock._writeblock(block)

        padding = Padding()
        padding.length = 1020
        data += MetadataBlock._writeblock(padding, is_last=True)

        return bytes(data)