diff --git a/exegol/model/ExegolImage.py b/exegol/model/ExegolImage.py index 3ab0624b..06f0c2dc 100644 --- a/exegol/model/ExegolImage.py +++ b/exegol/model/ExegolImage.py @@ -572,6 +572,10 @@ def getRealSize(self) -> str: """On-Disk size getter""" return self.__disk_size if self.__is_install else f"[bright_black]~{self.__remote_est_size}[/bright_black]" + def getRealSizeRaw(self) -> str: + """On-Disk size getter""" + return self.__disk_size if self.__is_install else self.__remote_est_size + def getDownloadSize(self) -> str: """Remote size getter""" if not self.__is_remote: diff --git a/exegol/utils/DockerUtils.py b/exegol/utils/DockerUtils.py index fba7e755..463e6f91 100644 --- a/exegol/utils/DockerUtils.py +++ b/exegol/utils/DockerUtils.py @@ -1,4 +1,5 @@ import os +import logging from datetime import datetime from typing import List, Optional, Union, cast @@ -446,7 +447,8 @@ def downloadImage(cls, image: ExegolImage, install_mode: bool = False) -> bool: logger.info(f"{'Installing' if install_mode else 'Updating'} exegol image : {image.getName()}") name = image.updateCheck() if name is not None: - logger.info(f"Starting download. Please wait, this might be (very) long.") + logger.raw(f"[bold blue][*][/bold blue] Pulling compressed image, starting a [cyan1]{image.getDownloadSize()}[/cyan1] download :satellite:{os.linesep}", level=logging.INFO, markup=True, emoji=True) + logger.raw(f"[bold blue][*][/bold blue] Once downloaded and uncompressed, the image will take [cyan1]~{image.getRealSizeRaw()}[/cyan1] on disk :floppy_disk:{os.linesep}", level=logging.INFO, markup=True, emoji=True) logger.debug(f"Downloading {ConstantConfig.IMAGE_NAME}:{name} ({image.getArch()})") try: ExegolTUI.downloadDockerLayer(