in atr/tasks/checks/targz.py [0:0]
def _integrity_core(tgz_path: str, chunk_size: int = 4096) -> int:
"""Verify a .tar.gz file and compute its uncompressed size."""
total_size = 0
with tarfile.open(tgz_path, mode="r|gz") as tf:
for member in tf:
# Do not skip metadata here
total_size += member.size
# Verify file by extraction
if member.isfile():
f = tf.extractfile(member)
if f is not None:
while True:
data = f.read(chunk_size)
if not data:
break
return total_size