22 lines
670 B
Python
22 lines
670 B
Python
![]() |
# Utilities for python-based QEMU tests
|
||
|
#
|
||
|
# Copyright 2024 Red Hat, Inc.
|
||
|
#
|
||
|
# Authors:
|
||
|
# Thomas Huth <thuth@redhat.com>
|
||
|
#
|
||
|
# This work is licensed under the terms of the GNU GPL, version 2 or
|
||
|
# later. See the COPYING file in the top-level directory.
|
||
|
|
||
|
import tarfile
|
||
|
|
||
|
def archive_extract(archive, dest_dir, member=None):
|
||
|
with tarfile.open(archive) as tf:
|
||
|
if hasattr(tarfile, 'data_filter'):
|
||
|
tf.extraction_filter = getattr(tarfile, 'data_filter',
|
||
|
(lambda member, path: member))
|
||
|
if member:
|
||
|
tf.extract(member=member, path=dest_dir)
|
||
|
else:
|
||
|
tf.extractall(path=dest_dir)
|