diff --git a/raincloud/directory_handler.py b/raincloud/directory_handler.py index e73c501..13b6bca 100644 --- a/raincloud/directory_handler.py +++ b/raincloud/directory_handler.py @@ -1,6 +1,17 @@ from datetime import datetime from pathlib import Path import configparser +import os + + +def get_human_readable_filesize(num_bytes): + """Return a human readable string of 'num_bytes'.""" + print(num_bytes) + for unit in ["", "Ki", "Mi", "Gi", "Ti", "Pi", "Ei", "Zi"]: + if abs(num_bytes) < 1024.0: + return f"{num_bytes:3.1f} {unit}B" + num_bytes /= 1024.0 + return f"{num_bytes:.1f} YiB" class RaincloudIOException(Exception): @@ -65,7 +76,13 @@ class DirectoryHandler: files = [] for p in file_paths: if p.name != "rc.conf": - files.append(p.name) + print(p) + files.append( + { + "name": p.name, + "size": get_human_readable_filesize(os.path.getsize(p)), + } + ) return files def get_absolute_path(self, directory): diff --git a/raincloud/static/style.css b/raincloud/static/style.css index 9b85886..644fff5 100644 --- a/raincloud/static/style.css +++ b/raincloud/static/style.css @@ -51,6 +51,12 @@ body { align-items: center; } +.file-size { + color: lightgrey; + font-size: 12px; + padding-left: 15px; +} + form { display: inline-block; } diff --git a/raincloud/templates/directory.html b/raincloud/templates/directory.html index 7e2ea14..fe47a82 100644 --- a/raincloud/templates/directory.html +++ b/raincloud/templates/directory.html @@ -18,7 +18,7 @@ {% block content %} {% for f in files %}