feat: add .ova support — OVA files are tar archives containing .vmdk disks
This commit is contained in:
parent
0c2b11f2d2
commit
878bc66da8
1 changed files with 3 additions and 1 deletions
|
|
@ -24,7 +24,7 @@ logger = logging.getLogger("backend.converter")
|
||||||
|
|
||||||
DISK_EXTENSIONS = {".vmdk", ".qcow2", ".qcow", ".img", ".raw", ".vhd", ".vhdx"}
|
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
|
MIN_DISK_BYTES = 1024
|
||||||
|
|
||||||
|
|
@ -69,6 +69,7 @@ def extract_if_needed(filename: str) -> Path:
|
||||||
".tar.gz": ("tar", ["tar", "-xzf", str(filepath)]),
|
".tar.gz": ("tar", ["tar", "-xzf", str(filepath)]),
|
||||||
".tgz": ("tar", ["tar", "-xzf", str(filepath)]),
|
".tgz": ("tar", ["tar", "-xzf", str(filepath)]),
|
||||||
".tar": ("tar", ["tar", "-xf", str(filepath)]),
|
".tar": ("tar", ["tar", "-xf", str(filepath)]),
|
||||||
|
".ova": ("tar", ["tar", "-xf", str(filepath)]),
|
||||||
".gz": ("gunzip", ["gunzip", "-f", str(filepath)]),
|
".gz": ("gunzip", ["gunzip", "-f", str(filepath)]),
|
||||||
".bz2": ("bunzip2", ["bunzip2", "-f", str(filepath)]),
|
".bz2": ("bunzip2", ["bunzip2", "-f", str(filepath)]),
|
||||||
".xz": ("xz", ["xz", "-d", 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)]),
|
".tar.gz": ("tar", ["tar", "-xzf", str(archive_path)]),
|
||||||
".tgz": ("tar", ["tar", "-xzf", str(archive_path)]),
|
".tgz": ("tar", ["tar", "-xzf", str(archive_path)]),
|
||||||
".tar": ("tar", ["tar", "-xf", str(archive_path)]),
|
".tar": ("tar", ["tar", "-xf", str(archive_path)]),
|
||||||
|
".ova": ("tar", ["tar", "-xf", str(archive_path)]),
|
||||||
".gz": ("gunzip", ["gunzip", "-f", str(archive_path)]),
|
".gz": ("gunzip", ["gunzip", "-f", str(archive_path)]),
|
||||||
".bz2": ("bunzip2", ["bunzip2", "-f", str(archive_path)]),
|
".bz2": ("bunzip2", ["bunzip2", "-f", str(archive_path)]),
|
||||||
".xz": ("xz", ["xz", "-d", str(archive_path)]),
|
".xz": ("xz", ["xz", "-d", str(archive_path)]),
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue