Coverage for appr/packager.py : 41%

Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
tar = tarfile.open(app, "r:gz") tar.extractall(dest) tar.close()
# @TODO RENAME CLASS self.files = {} self.tar = None self.blob = None self.io_file = None self._digest = None self._size = None self.b64blob = None if blob is not None: self.load(blob, b64_encoded)
if b64_encoded: self.b64blob = blob self.blob = base64.b64decode(blob) else: self.b64blob = base64.b64encode(blob) self.blob = blob
self._digest = None self._load_blob(blob, b64_encoded) self.io_file = io.BytesIO(self.blob) self.tar = tarfile.open(fileobj=self.io_file, mode='r:gz') for member in self.tar.getmembers(): tfile = self.tar.extractfile(member) if tfile is not None: self.files[tfile.name] = tfile.read()
self.tar.extractall(dest)
with open(dest, "wb") as destfile: destfile.write(self.blob)
files = self.files.keys() files.sort() if directory is not None: filtered = [x for x in files if x.startswith(directory)] else: filtered = files return filtered
return self.files[filename]
def size(self): if self._size is None: self.io_file.seek(0, os.SEEK_END) self._size = self.io_file.tell() return self._size
def digest(self): if self._digest is None: self.io_file.seek(0) gunzip = gzip.GzipFile(fileobj=self.io_file, mode='r').read() self._digest = hashlib.sha256(gunzip).hexdigest() self.io_file.seek(0) return self._digest |