diff --git a/cache_utils.py b/cache_utils.py new file mode 100644 index 0000000..c4acd28 --- /dev/null +++ b/cache_utils.py @@ -0,0 +1,15 @@ +import os + +def get_cache_size(directory="./cache"): + + '''check directory sizes and sum up''' + print(directory) + total_size = 0 + for dirpath, dirnames, filenames in os.walk(directory): + for filename in filenames: + filepath = os.path.join(dirpath, filename) + total_size += os.path.getsize(filepath) + + # Convert bytes to gigabytes # + total_size_gb = total_size / (1024 * 1024 * 1024) + return total_size_gb \ No newline at end of file diff --git a/client.py b/client.py index a132082..b2a9dbb 100644 --- a/client.py +++ b/client.py @@ -4,6 +4,10 @@ import data_backend import client_details import pgwrapper import sys +import json +import os +import cache_utils +import imagetools customtkinter.set_appearance_mode("dark") customtkinter.set_default_color_theme("blue") @@ -144,9 +148,16 @@ def load_main(): app.title("Lan Vault: Overview") # create tiles from meta files # + cache_dir_size = 0 for software in db.find_all_metadata(): create_main_window_tile(software) + # retrieve cache dir from any software # + if not cache_dir_size: + cache_dir_size = cache_utils.get_cache_size() + label = customtkinter.CTkLabel(app, text="Cache Size: {:.2f} GB".format(cache_dir_size)) + label.grid(row=0, column=0) + # set update listener & update positions # update_button_positions() app.bind("", update_button_positions)