diff --git a/openatlas/templates/file.html b/openatlas/templates/file.html
index f8de3ca26..e8fe3484f 100644
--- a/openatlas/templates/file.html
+++ b/openatlas/templates/file.html
@@ -1,73 +1,128 @@
{{ info|display_info|safe }}
{% if disk_space_info %}
+
+ {{ _('local disk usage') }}
+
+ class="progress-bar bg-primary"
+ role="progressbar"
+ style="width: {{ disk_space_info.percent_used - disk_space_info.percent_project }}%"
+ aria-valuenow="{{ disk_space_info.percent_used - disk_space_info.percent_project }}"
+ aria-valuemin="0"
+ aria-valuemax="100">
{{ disk_space_info.percent_used - disk_space_info.percent_project }}%
+ class="progress-bar bg-warning"
+ role="progressbar"
+ style="width: {{ disk_space_info.percent_project }}%"
+ aria-valuenow="{{ disk_space_info.percent_project }}"
+ aria-valuemin="0"
+ aria-valuemax="100">
{{ disk_space_info.percent_project }}%
+ class="progress-bar bg-gray"
+ role="progressbar"
+ style="width: {{ 100 - disk_space_info.percent_used }}%"
+ aria-valuenow="{{ 100 - disk_space_info.percent_used }}"
+ aria-valuemin="0"
+ aria-valuemax="100">
{{ 100 - disk_space_info.percent_used }}%
- {{ _('total disk space')|uc_first }} {{ disk_space_info.total }}
+ {{ _('total disk space')|uc_first }}
+ {{ disk_space_info.total }}
- {{ _('non project files')|uc_first }} {{ disk_space_info.other_files }}
+ {{ _('non project files')|uc_first }}
+ {{ disk_space_info.other_files }}
- {{ _('project files')|uc_first }} {{ disk_space_info.project }}
+ {{ _('project files')|uc_first }}
+ {{ disk_space_info.project }}
- {{ _('export')|uc_first }} {{ disk_space_info.export }}
-
-
-
- {{ _('upload')|uc_first }} {{ disk_space_info.upload }}
-
-
-
- {{ _('processed')|uc_first }} {{ disk_space_info.processed }}
-
-
-
- {{ _('iiif')|uc_first }} {{ disk_space_info.iiif }}
-
-
-
- {{ _('free disk space')|uc_first }} {{ disk_space_info.free }}
+ {{ _('free disk space')|uc_first }}
+ {{ disk_space_info.free }}
+
+ {{ _('distribution of project files') }}
+
+
+
+ {{ disk_space_info.percent_upload }}%
+
+
+ {{ disk_space_info.percent_export }}%
+
+
+ {{ disk_space_info.percent_processed }}%
+
+
+ {{ disk_space_info.percent_iiif }}%
+
+
+
+
+
+ {{ _('upload folder')|uc_first }}
+ {{ disk_space_info.upload }}
+
+
+
+ {{ _('export folder')|uc_first }}
+ {{ disk_space_info.export }}
+
+
+
+ {{ _('processed images folder')|uc_first }}
+ {{ disk_space_info.processed }}
+
+
+
+ {{ _('iiif folder')|uc_first }}
+ {{ disk_space_info.iiif }}
+
+
{% endif %}
{% if 'manager'|is_authorized %}
-
+
{% if g.settings.logo_file_id %}
{{ _('remove custom logo')|button(url_for('logo_remove'))|safe }}
diff --git a/openatlas/views/admin.py b/openatlas/views/admin.py
index 72d54ae66..250559f8b 100644
--- a/openatlas/views/admin.py
+++ b/openatlas/views/admin.py
@@ -819,7 +819,7 @@ def admin_delete_orphaned_resized_images() -> Response:
def get_disk_space_info() -> Optional[dict[str, Any]]:
- export, upload, processed, iiif = 0,0,0,0
+ export, upload, processed, iiif = 0, 0, 0, 0
if os.name == 'posix':
process = run(
['du', '-sb', app.config['EXPORT_PATH']],
@@ -852,6 +852,10 @@ def get_disk_space_info() -> Optional[dict[str, Any]]:
stats = shutil.disk_usage(app.config['UPLOAD_PATH'])
percent_free = 100 - math.ceil(stats.free / (stats.total / 100))
percent_files = math.ceil(files_size / (stats.total / 100))
+ percent_export = math.ceil(export / (files_size / 100))
+ percent_upload = math.ceil(upload / (files_size / 100))
+ percent_processed = math.ceil(processed / (files_size / 100))
+ percent_iiif = math.ceil(iiif / (files_size / 100))
other_files = stats.total - stats.free - files_size
return {
'total': convert_size(stats.total),
@@ -864,6 +868,10 @@ def get_disk_space_info() -> Optional[dict[str, Any]]:
'free': convert_size(stats.free),
'percent_used': percent_free,
'percent_project': percent_files,
+ 'percent_export': percent_export,
+ 'percent_upload': percent_upload,
+ 'percent_processed': percent_processed,
+ 'percent_iiif': percent_iiif,
'percent_other': 100 - (percent_files + percent_free)}