diff --git a/src/yunohost/app.py b/src/yunohost/app.py index 0ce7a27c5..1d4a2ab30 100644 --- a/src/yunohost/app.py +++ b/src/yunohost/app.py @@ -55,6 +55,7 @@ from moulinette.utils.filesystem import ( from yunohost.service import service_status, _run_service_command from yunohost.utils import packages from yunohost.utils.error import YunohostError, YunohostValidationError +from yunohost.utils.filesystem import free_space_in_directory from yunohost.log import is_unit_operation, OperationLogger logger = getActionLogger("yunohost.app") @@ -878,11 +879,10 @@ def app_install( manifest, extracted_app_folder = _extract_app_from_file(app) else: raise YunohostValidationError("app_unknown") - + # Check if disk space available - size = os.statvfs('/') if free_space_in_directory("/") <= 512 * 1000 * 1000: - raise YunohostValidationError("disk_space_not_sufficient_install") + raise YunohostValidationError("disk_space_not_sufficient_install") # Check ID if "id" not in manifest or "__" in manifest["id"]: diff --git a/src/yunohost/backup.py b/src/yunohost/backup.py index 99337b2f8..ecc5ae033 100644 --- a/src/yunohost/backup.py +++ b/src/yunohost/backup.py @@ -71,6 +71,7 @@ from yunohost.regenconf import regen_conf from yunohost.log import OperationLogger, is_unit_operation from yunohost.utils.error import YunohostError, YunohostValidationError from yunohost.utils.packages import ynh_packages_version +from yunohost.utils.filesystem import free_space_in_directory from yunohost.settings import settings_get BACKUP_PATH = "/home/yunohost.backup" @@ -2672,11 +2673,6 @@ def _recursive_umount(directory): return everything_went_fine -def free_space_in_directory(dirpath): - stat = os.statvfs(dirpath) - return stat.f_frsize * stat.f_bavail - - def disk_usage(path): # We don't do this in python with os.stat because we don't want # to follow symlinks