Coverage for appr/pack.py : 33%

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
"*.libsonnet", "*.libjsonnet", "*.jsonnet", "*.yaml", "README.md", "LICENSE", "AUTHORS", "NOTICE", "manifests", "deps/*.kub" ]
files = [] for name in AUTHORIZED_FILES: for filename in glob.glob(name): files.append(filename) for root, _, filenames in os.walk('templates'): for name in AUTHORIZED_TEMPLATES: for filename in fnmatch.filter(filenames, name): files.append(os.path.join(root, filename)) return files
with open(filename, 'r') as f: ignore_files = ignore_files + f.read().split("\n")
if fnmatch.fnmatch(path, ignore_pattern): skip = True break
tar = tarfile.open(kub, "w:gz") if filter_files: files = authorized_files() else: files = all_files() for filepath in files: arcname = None if prefix: arcname = os.path.join(prefix, filepath) tar.add(filepath, arcname=arcname)
tar.close()
tar = tarfile.open(kub, "r:gz") tar.extractall(dest) tar.close()
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, skip_prefix)
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: name = tfile.name if skip_prefix: name = name.replace(skip_prefix, '') self.files[name] = tfile.read()
self.tar.extractall(dest)
with open(dest, "wb") as destfile: destfile.write(self.blob)
files = list(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 manifest(self): manifests_files = ["manifest.yaml", "manifest.jsonnet", "Chart.yaml", "Chart.yml"] for filename in manifests_files: if filename in self.files: return self.files[filename] raise RuntimeError("Unknown manifest format")
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 |