From 3e5711f0f247eb77ecddd19e5131c6010cca7e9e Mon Sep 17 00:00:00 2001 From: tcely Date: Wed, 11 Dec 2024 08:19:34 -0500 Subject: [PATCH 1/5] Report db.sqlite3 size on dashboard --- tubesync/sync/views.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tubesync/sync/views.py b/tubesync/sync/views.py index 94e91432..e998d559 100644 --- a/tubesync/sync/views.py +++ b/tubesync/sync/views.py @@ -85,6 +85,12 @@ class DashboardView(TemplateView): data['config_dir'] = str(settings.CONFIG_BASE_DIR) data['downloads_dir'] = str(settings.DOWNLOAD_ROOT) data['database_connection'] = settings.DATABASE_CONNECTION_STR + # Add the database filesize when using db.sqlite3 + db_name = str(settings.DATABASES["default"]["NAME"]) + db_path = pathlib.Path(db_name) if '/' == db_name[0] else None + if db_path and settings.DATABASE_CONNECTION_STR.startswith('sqlite at '): + db_size = db_path.stat().st_size + data['database_connection'] += f' ({db_size:,} bytes)' return data From 730275746d78f7ab3e75a65fb7f020a01f263280 Mon Sep 17 00:00:00 2001 From: tcely Date: Thu, 12 Dec 2024 15:19:54 -0500 Subject: [PATCH 2/5] Use django.db.connection as suggested --- tubesync/sync/views.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tubesync/sync/views.py b/tubesync/sync/views.py index e998d559..3fb23044 100644 --- a/tubesync/sync/views.py +++ b/tubesync/sync/views.py @@ -14,7 +14,7 @@ from django.views.generic.detail import SingleObjectMixin from django.core.exceptions import SuspiciousFileOperation from django.http import HttpResponse from django.urls import reverse_lazy -from django.db import IntegrityError +from django.db import connection, IntegrityError from django.db.models import Q, Count, Sum, When, Case from django.forms import Form, ValidationError from django.utils.text import slugify @@ -86,9 +86,9 @@ class DashboardView(TemplateView): data['downloads_dir'] = str(settings.DOWNLOAD_ROOT) data['database_connection'] = settings.DATABASE_CONNECTION_STR # Add the database filesize when using db.sqlite3 - db_name = str(settings.DATABASES["default"]["NAME"]) + db_name = str(connection.get_connection_params()['database']) db_path = pathlib.Path(db_name) if '/' == db_name[0] else None - if db_path and settings.DATABASE_CONNECTION_STR.startswith('sqlite at '): + if db_path and 'sqlite' == connection.vendor: db_size = db_path.stat().st_size data['database_connection'] += f' ({db_size:,} bytes)' return data From ee303c638b066cc74669214ba235e6874eb2eaa2 Mon Sep 17 00:00:00 2001 From: tcely Date: Fri, 24 Jan 2025 09:14:53 -0500 Subject: [PATCH 3/5] Display database_filesize --- tubesync/sync/templates/sync/dashboard.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tubesync/sync/templates/sync/dashboard.html b/tubesync/sync/templates/sync/dashboard.html index 8c27684c..4d9fc2da 100644 --- a/tubesync/sync/templates/sync/dashboard.html +++ b/tubesync/sync/templates/sync/dashboard.html @@ -125,7 +125,7 @@ Database - Database
{{ database_connection }} + Database
{{ database_connection }} {{ database_filesize|filesizeformat }} From b65ecc43ffc7ad40c68fe171fc9c9df42c93a534 Mon Sep 17 00:00:00 2001 From: tcely Date: Fri, 24 Jan 2025 09:20:12 -0500 Subject: [PATCH 4/5] Pass raw bytes count as `database_filesize` --- tubesync/sync/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tubesync/sync/views.py b/tubesync/sync/views.py index 3fb23044..7f77e858 100644 --- a/tubesync/sync/views.py +++ b/tubesync/sync/views.py @@ -86,11 +86,11 @@ class DashboardView(TemplateView): data['downloads_dir'] = str(settings.DOWNLOAD_ROOT) data['database_connection'] = settings.DATABASE_CONNECTION_STR # Add the database filesize when using db.sqlite3 + data['database_filesize'] = None db_name = str(connection.get_connection_params()['database']) db_path = pathlib.Path(db_name) if '/' == db_name[0] else None if db_path and 'sqlite' == connection.vendor: - db_size = db_path.stat().st_size - data['database_connection'] += f' ({db_size:,} bytes)' + data['database_filesize'] = db_path.stat().st_size return data From e16f6bb86a723760b9ccd10815bfc432f82fde0a Mon Sep 17 00:00:00 2001 From: tcely Date: Fri, 24 Jan 2025 09:26:04 -0500 Subject: [PATCH 5/5] Display `database_filesize` only if set --- tubesync/sync/templates/sync/dashboard.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tubesync/sync/templates/sync/dashboard.html b/tubesync/sync/templates/sync/dashboard.html index 4d9fc2da..ccf4a6c3 100644 --- a/tubesync/sync/templates/sync/dashboard.html +++ b/tubesync/sync/templates/sync/dashboard.html @@ -125,7 +125,7 @@ Database - Database
{{ database_connection }} {{ database_filesize|filesizeformat }} + Database
{{ database_connection }}{% if database_filesize %} {{ database_filesize|filesizeformat }}{% endif %}