Beispiel #1
0
    def __init__(self, data):
        self.huffval = create_array([], 4)
        self.valptr = create_array([], 4)
        self.mincode = create_array([], 4)
        self.maxcode = create_array([], 4)
        self.zz = create_array(0, 64)
        self.qnt = create_array(0, 4, 64)

        self.data = EmbedData(data)
        self.size = len(self.data)
        self.ri = 0

        while True:
            if self.get_byte() == 255:
                b = self.get_byte()
                if b == 192:
                    self.sof0()
                elif b == 196:
                    self.dht()
                elif b == 219:
                    self.dqt()
                elif b == 217 or b == 218:
                    break
                elif b in self.APP:
                    self.skip_variable()
                elif b == self.DRI:
                    self.dri()
Beispiel #2
0
    def compress(self, embedded_data=None, password='******'):
        self.embedded_data = EmbedData(
            embedded_data) if embedded_data else None
        self.password = password

        self.write_headers()
        self.write_compressed_data()
        self.write_eoi()
        self.out.flush()