From 60ed77837f475f3eef33460032bb89f27cf1940e Mon Sep 17 00:00:00 2001 From: Shai Golderman Date: Sun, 21 Apr 2024 18:27:46 +0300 Subject: [PATCH] PM-8180: Support extracting VHDX files --- patoolib/__init__.py | 8 +++++++- patoolib/programs/p7zip.py | 3 +++ patoolib/util.py | 1 + 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/patoolib/__init__.py b/patoolib/__init__.py index 5675e6b6..a0ac03f5 100644 --- a/patoolib/__init__.py +++ b/patoolib/__init__.py @@ -40,7 +40,7 @@ '7z', 'ace', 'adf', 'alzip', 'ape', 'ar', 'arc', 'arj', 'bzip2', 'cab', 'chm', 'compress', 'cpio', 'deb', 'dms', 'flac', 'gzip', 'iso', 'udf', 'lrzip', 'lzh', 'lzip', 'lzma', 'lzop', - 'rar', 'rpm', 'rzip', 'shar', 'shn', 'tar', 'vhd', 'xz', + 'rar', 'rpm', 'rzip', 'shar', 'shn', 'tar', 'vhd', 'vhdx', 'xz', 'zip', 'zoo', 'zpaq') # Supported compressions (used with tar for example) @@ -84,6 +84,7 @@ 'application/x-shar': 'shar', 'application/x-tar': 'tar', 'application/x-vhd': 'vhd', + 'application/x-vhdx-disk': 'vhdx', 'application/x-xz': 'xz', 'application/x-zip-compressed': 'zip', 'application/x-zoo': 'zoo', @@ -275,6 +276,11 @@ 'list': ('7z',), 'test': ('7z',), }, + 'vhdx': { + 'extract': ('7z',), + 'list': ('7z',), + 'test': ('7z',), + }, 'xz': { None: ('xz', '7z'), 'extract': py_lzma, diff --git a/patoolib/programs/p7zip.py b/patoolib/programs/p7zip.py index c1ea2428..319b23ff 100644 --- a/patoolib/programs/p7zip.py +++ b/patoolib/programs/p7zip.py @@ -50,6 +50,7 @@ def extract_7z_singlefile(archive, compression, cmd, verbosity, interactive, out extract_iso = \ extract_udf = \ extract_vhd = \ + extract_vhdx = \ extract_7z def list_7z (archive, compression, cmd, verbosity, interactive): @@ -75,6 +76,7 @@ def list_7z (archive, compression, cmd, verbosity, interactive): list_xz = \ list_lzma = \ list_vhd = \ + list_vhdx = \ list_7z @@ -101,6 +103,7 @@ def test_7z (archive, compression, cmd, verbosity, interactive): test_xz = \ test_lzma = \ test_vhd = \ + test_vhdx = \ test_7z diff --git a/patoolib/util.py b/patoolib/util.py index 6e11d88b..373885b8 100644 --- a/patoolib/util.py +++ b/patoolib/util.py @@ -140,6 +140,7 @@ def add_mimedb_data(mimedb): add_mimetype(mimedb, 'application/x-shar', '.shar') add_mimetype(mimedb, 'application/x-tar', '.cbt') add_mimetype(mimedb, 'application/x-vhd', '.vhd') + add_mimetype(mimedb, 'application/x-vhdx-disk', '.vhdx') add_mimetype(mimedb, 'audio/x-ape', '.ape') add_mimetype(mimedb, 'audio/x-shn', '.shn') add_mimetype(mimedb, 'audio/flac', '.flac')