Rev4099, Fix ZipStream for older Python versions

This commit is contained in:
shortcutme 2019-05-31 15:08:30 +02:00
parent 3b764439af
commit d38846f126
No known key found for this signature in database
GPG key ID: 5B63BAE6CB9613AE
2 changed files with 6 additions and 4 deletions

View file

@ -6,6 +6,7 @@ class ZipStream(object):
def __init__(self, dir_path): def __init__(self, dir_path):
self.dir_path = dir_path self.dir_path = dir_path
self.pos = 0 self.pos = 0
self.buff_pos = 0
self.zf = zipfile.ZipFile(self, 'w', zipfile.ZIP_DEFLATED, allowZip64=True) self.zf = zipfile.ZipFile(self, 'w', zipfile.ZIP_DEFLATED, allowZip64=True)
self.buff = io.BytesIO() self.buff = io.BytesIO()
self.file_list = self.getFileList() self.file_list = self.getFileList()
@ -27,6 +28,7 @@ class ZipStream(object):
back = self.buff.read() back = self.buff.read()
self.buff.truncate(0) self.buff.truncate(0)
self.buff.seek(0) self.buff.seek(0)
self.buff_pos += len(back)
return back return back
def write(self, data): def write(self, data):
@ -37,9 +39,9 @@ class ZipStream(object):
return self.pos return self.pos
def seek(self, pos, whence=0): def seek(self, pos, whence=0):
self.buff.seek(pos, whence) if pos >= self.buff_pos:
self.pos = pos self.buff.seek(pos - self.buff_pos, whence)
pass self.pos = pos
def flush(self): def flush(self):
pass pass

View file

@ -13,7 +13,7 @@ class Config(object):
def __init__(self, argv): def __init__(self, argv):
self.version = "0.7.0" self.version = "0.7.0"
self.rev = 4098 self.rev = 4099
self.argv = argv self.argv = argv
self.action = None self.action = None
self.pending_changes = {} self.pending_changes = {}