From 068976b77e9d90de536b15d6b8e10fefecfdc58f Mon Sep 17 00:00:00 2001 From: Jordi Mas Date: Fri, 31 May 2024 20:06:41 +0200 Subject: [PATCH] Get space --- transcribe-batch/processedfiles.py | 24 +++++++++++++++++------- transcribe-service/transcribe-service.py | 1 + 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/transcribe-batch/processedfiles.py b/transcribe-batch/processedfiles.py index fe66e31..09e60ef 100644 --- a/transcribe-batch/processedfiles.py +++ b/transcribe-batch/processedfiles.py @@ -98,20 +98,30 @@ def get_num_of_files_stored(directory=PROCESSED): files = ProcessedFiles._find_files(directory, "*") return len(files) + def _get_human_readable_size(size): + GB_IN_BYTES = 1024**3 + if size > GB_IN_BYTES: + gbs = size / GB_IN_BYTES + text = f"{gbs:.2f} GB" + else: + text = f"{size} bytes" + + return text + def get_num_of_files_stored_size(directory=PROCESSED): files = ProcessedFiles._find_files(directory, "*") total_size = 0 for _file in files: total_size += os.stat(_file).st_size - GB_IN_BYTES = 1024 * 1024 * 1024 - if total_size > GB_IN_BYTES: - gbs = total_size / GB_IN_BYTES - size = f"{gbs:.2f} GB" - else: - size = f"{total_size} bytes" + return ProcessedFiles._get_human_readable_size(total_size) + + def get_free_space_in(directory=PROCESSED): + statvfs = os.statvfs(directory) - return size + # Available blocks * block size gives the available space in bytes + free_space_bytes = statvfs.f_frsize * statvfs.f_bavail + return ProcessedFiles._get_human_readable_size(free_space_byte) def purge_files(days, directory=PROCESSED): HOURS_DAY = 24 diff --git a/transcribe-service/transcribe-service.py b/transcribe-service/transcribe-service.py index 346daba..86f503d 100755 --- a/transcribe-service/transcribe-service.py +++ b/transcribe-service/transcribe-service.py @@ -70,6 +70,7 @@ def stats(): result["files_stored"] = ProcessedFiles.get_num_of_files_stored() result["files_stored_size"] = ProcessedFiles.get_num_of_files_stored_size() + result["free_storage_space"] = ProcessedFiles.get_num_of_files_stored_size() queue["items"] = len(records) queue["who"] = print_who result["queue"] = queue