From 878bc66da8900cd588ca294ac056a2e1c623fbd7 Mon Sep 17 00:00:00 2001 From: Claus Lohmar Date: Sun, 26 Jul 2026 07:42:06 +0000 Subject: [PATCH] =?UTF-8?q?feat:=20add=20.ova=20support=20=E2=80=94=20OVA?= =?UTF-8?q?=20files=20are=20tar=20archives=20containing=20.vmdk=20disks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/converter.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/backend/converter.py b/backend/converter.py index 296577d..670989e 100644 --- a/backend/converter.py +++ b/backend/converter.py @@ -24,7 +24,7 @@ logger = logging.getLogger("backend.converter") DISK_EXTENSIONS = {".vmdk", ".qcow2", ".qcow", ".img", ".raw", ".vhd", ".vhdx"} -ARCHIVE_EXTENSIONS = {".7z", ".zip", ".rar", ".tar.gz", ".tgz", ".tar", ".gz", ".bz2", ".xz"} +ARCHIVE_EXTENSIONS = {".7z", ".zip", ".rar", ".tar.gz", ".tgz", ".tar", ".gz", ".bz2", ".xz", ".ova"} MIN_DISK_BYTES = 1024 @@ -69,6 +69,7 @@ def extract_if_needed(filename: str) -> Path: ".tar.gz": ("tar", ["tar", "-xzf", str(filepath)]), ".tgz": ("tar", ["tar", "-xzf", str(filepath)]), ".tar": ("tar", ["tar", "-xf", str(filepath)]), + ".ova": ("tar", ["tar", "-xf", str(filepath)]), ".gz": ("gunzip", ["gunzip", "-f", str(filepath)]), ".bz2": ("bunzip2", ["bunzip2", "-f", str(filepath)]), ".xz": ("xz", ["xz", "-d", str(filepath)]), @@ -475,6 +476,7 @@ def _extract_one_archive(archive_path: Path, target_dir: Path): ".tar.gz": ("tar", ["tar", "-xzf", str(archive_path)]), ".tgz": ("tar", ["tar", "-xzf", str(archive_path)]), ".tar": ("tar", ["tar", "-xf", str(archive_path)]), + ".ova": ("tar", ["tar", "-xf", str(archive_path)]), ".gz": ("gunzip", ["gunzip", "-f", str(archive_path)]), ".bz2": ("bunzip2", ["bunzip2", "-f", str(archive_path)]), ".xz": ("xz", ["xz", "-d", str(archive_path)]),