Example #1
0
        class DeflaterDest(Dest):
            '''
            Dest-like class, reading from a file-like object initially, but
            switching to a Deflater object if written to.

                dest = DeflaterDest(original_file)
                dest.read()      # Reads original_file
                dest.write(data) # Creates a Deflater and write data there
                dest.read()      # Re-opens the Deflater and reads from it
            '''
            def __init__(self, orig=None, compress=True):
                self.mode = None
                self.deflater = orig
                self.compress = compress

            def read(self, length=-1):
                if self.mode != 'r':
                    assert self.mode is None
                    self.mode = 'r'
                return self.deflater.read(length)

            def write(self, data):
                if self.mode != 'w':
                    from mozpack.mozjar import Deflater
                    self.deflater = Deflater(self.compress)
                    self.mode = 'w'
                self.deflater.write(data)

            def exists(self):
                return self.deflater is not None
Example #2
0
            def write(self, data):
                if self.mode != "w":
                    from mozpack.mozjar import Deflater

                    self.deflater = Deflater(self.compress)
                    self.mode = "w"
                self.deflater.write(data)
Example #3
0
        class DeflaterDest(Dest):
            '''
            Dest-like class, reading from a file-like object initially, but
            switching to a Deflater object if written to.

                dest = DeflaterDest(original_file)
                dest.read()      # Reads original_file
                dest.write(data) # Creates a Deflater and write data there
                dest.read()      # Re-opens the Deflater and reads from it
            '''
            def __init__(self, orig=None, compress=True):
                self.mode = None
                self.deflater = orig
                self.compress = compress

            def read(self, length=-1):
                if self.mode != 'r':
                    assert self.mode is None
                    self.mode = 'r'
                return self.deflater.read(length)

            def write(self, data):
                if self.mode != 'w':
                    from mozpack.mozjar import Deflater
                    self.deflater = Deflater(self.compress)
                    self.mode = 'w'
                self.deflater.write(data)

            def exists(self):
                return self.deflater is not None
Example #4
0
 def test_deflater_no_compress(self):
     deflater = Deflater(False)
     deflater.write(self.wrap(b"abc"))
     self.assertFalse(deflater.compressed)
     self.assertEqual(deflater.uncompressed_size, 3)
     self.assertEqual(deflater.compressed_size, deflater.uncompressed_size)
     self.assertEqual(deflater.compressed_data, b"abc")
     self.assertEqual(deflater.crc32, 0x352441C2)
Example #5
0
 def test_deflater_compress_no_gain(self):
     deflater = Deflater(True)
     deflater.write(self.wrap('abc'))
     self.assertFalse(deflater.compressed)
     self.assertEqual(deflater.uncompressed_size, 3)
     self.assertEqual(deflater.compressed_size, deflater.uncompressed_size)
     self.assertEqual(deflater.compressed_data, 'abc')
     self.assertEqual(deflater.crc32, 0x352441c2)
Example #6
0
 def test_deflater_compress_no_gain(self):
     deflater = Deflater(True)
     deflater.write(self.wrap('abc'))
     self.assertFalse(deflater.compressed)
     self.assertEqual(deflater.uncompressed_size, 3)
     self.assertEqual(deflater.compressed_size, deflater.uncompressed_size)
     self.assertEqual(deflater.compressed_data, 'abc')
     self.assertEqual(deflater.crc32, 0x352441c2)
Example #7
0
 def test_deflater_empty(self):
     deflater = Deflater(False)
     self.assertFalse(deflater.compressed)
     self.assertEqual(deflater.uncompressed_size, 0)
     self.assertEqual(deflater.compressed_size, deflater.uncompressed_size)
     self.assertEqual(deflater.compressed_data, b"")
     self.assertEqual(deflater.crc32, 0)
Example #8
0
            def write(self, data):
                if self.mode != "w":
                    from mozpack.mozjar import Deflater

                    self.deflater = Deflater(self.compress)
                    self.mode = "w"
                self.deflater.write(data)
Example #9
0
 def test_deflater_compress(self):
     deflater = Deflater(True)
     deflater.write(self.wrap(b"aaaaaaaaaaaaanopqrstuvwxyz"))
     self.assertTrue(deflater.compressed)
     self.assertEqual(deflater.uncompressed_size, 26)
     self.assertNotEqual(deflater.compressed_size,
                         deflater.uncompressed_size)
     self.assertEqual(deflater.crc32, 0xD46B97ED)
     # The CRC is the same as when not compressed
     deflater = Deflater(False)
     self.assertFalse(deflater.compressed)
     deflater.write(self.wrap(b"aaaaaaaaaaaaanopqrstuvwxyz"))
     self.assertEqual(deflater.crc32, 0xD46B97ED)
Example #10
0
 def test_deflater_compress(self):
     deflater = Deflater(True)
     deflater.write(self.wrap('aaaaaaaaaaaaanopqrstuvwxyz'))
     self.assertTrue(deflater.compressed)
     self.assertEqual(deflater.uncompressed_size, 26)
     self.assertNotEqual(deflater.compressed_size,
                         deflater.uncompressed_size)
     self.assertEqual(deflater.crc32, 0xd46b97ed)
     # The CRC is the same as when not compressed
     deflater = Deflater(False)
     self.assertFalse(deflater.compressed)
     deflater.write(self.wrap('aaaaaaaaaaaaanopqrstuvwxyz'))
     self.assertEqual(deflater.crc32, 0xd46b97ed)