amodem-cli: fix compression logic

This commit is contained in:
Roman Zeyde
2015-01-16 11:32:15 +02:00
parent fe1714a0bc
commit 2727ff014a

View File

@@ -34,13 +34,18 @@ class Compressor(object):
self.stream = stream self.stream = stream
def read(self, size): def read(self, size):
while True:
data = self.stream.read(size) data = self.stream.read(size)
if data: if data:
data = self.obj.compress(data) result = self.obj.compress(data)
if not result: # compression is too good :)
continue # try again (since falsy data = EOF)
elif self.obj: elif self.obj:
data = self.obj.flush() result = self.obj.flush()
self.obj = None self.obj = None
return data else:
result = '' # EOF marker
return result
class Decompressor(object): class Decompressor(object):