We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 04b2fa7 commit 0dab17aCopy full SHA for 0dab17a
automation_file/local/tar_ops.py
@@ -26,6 +26,8 @@
26
"xz": "w:xz",
27
}
28
29
+_TAR_FILTER_SUPPORTED = hasattr(tarfile, "data_filter")
30
+
31
32
class TarException(FileAutomationException):
33
"""Raised when tar creation or extraction fails."""
@@ -77,7 +79,10 @@ def extract_tar(source: str, target_dir: str) -> list[str]:
77
79
with tarfile.open(str(src_path), "r:*") as archive:
78
80
_verify_members(archive, dest)
81
for member in archive.getmembers():
- archive.extract(member, str(dest), filter="data")
82
+ if _TAR_FILTER_SUPPORTED:
83
+ archive.extract(member, str(dest), filter="data")
84
+ else:
85
+ archive.extract(member, str(dest))
86
extracted.append(member.name)
87
except PathTraversalException:
88
raise
0 commit comments