Skip to content

Commit 640c56e

Browse files
committed
extract_utils: add support for 7z extraction
Change-Id: I1c7cee4ec588c1aa4c9b8d5d2bd5fdc1516bce9f
1 parent 70d8244 commit 640c56e

1 file changed

Lines changed: 9 additions & 0 deletions

File tree

extract_utils/extract.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -424,11 +424,20 @@ def extract_tar(source: str, dump_dir: str):
424424
tar.extractall(dump_dir)
425425

426426

427+
def extract_7z(source: str, dump_dir: str):
428+
import py7zr
429+
430+
with py7zr.SevenZipFile(source, 'r') as archive:
431+
archive.extractall(dump_dir)
432+
433+
427434
def extract_image_file(source: str, dump_dir: str):
428435
if is_zipfile(source):
429436
extract_fn = extract_zip
430437
elif is_tarfile(source):
431438
extract_fn = extract_tar
439+
elif source.endswith('.7z'):
440+
extract_fn = extract_7z
432441
else:
433442
raise ValueError(f'Unexpected file type at {source}')
434443

0 commit comments

Comments
 (0)