def check_diskspace(repo, min_free=None): ''' Check if the remote directory over at the pkg repo has available diskspace If the amount of free space is not supplied, it is taken from the global configuration file, section [PACKAGES], key 'mininum_free_space'. The unit used are in SI, that is, 1 GB = 10**9 bytes. :type repo: string :param repo: a remote package repo URL :type min_free: int :param: min_free mininum amount of free space, in GB (10**9 bytes) :raise error.RepoUnknownError: general repository error condition :raise error.RepoDiskFullError: repository does not have at least the requested amount of free disk space. ''' if min_free is None: min_free = settings.get_value('PACKAGES', 'minimum_free_space', type=int, default=1) try: df = repo_run_command(repo, 'df -PB %d . | tail -1' % 10**9).stdout.split() free_space_gb = int(df[3]) except Exception, e: raise error.RepoUnknownError('Unknown Repo Error: %s' % e)
def check_diskspace(repo, min_free=None): # Note: 1 GB = 10**9 bytes (SI unit). if min_free is None: min_free = global_config.global_config.get_config_value('PACKAGES', 'minimum_free_space', type=int, default=1) try: df = repo_run_command(repo, 'df -PB %d . | tail -1' % 10 ** 9).stdout.split() free_space_gb = int(df[3]) except Exception, e: raise error.RepoUnknownError('Unknown Repo Error: %s' % e)