From 40e1c4233edf048c2c48835916fa9577ac9adfef Mon Sep 17 00:00:00 2001 From: Noelle Leigh Date: Sun, 31 Dec 2023 10:36:44 -0500 Subject: [PATCH 1/2] templates/downloads/release_detail: Use filesizeformat Make the release file sizes more readable by passing them through the [filesizeformat filter][1]. [1]: https://docs.djangoproject.com/en/2.2/ref/templates/builtins/#filesizeformat --- templates/downloads/release_detail.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/downloads/release_detail.html b/templates/downloads/release_detail.html index b68b69a66..c8b18de45 100644 --- a/templates/downloads/release_detail.html +++ b/templates/downloads/release_detail.html @@ -62,7 +62,7 @@

Files

{{ f.os.name }} {{ f.description }} {{ f.md5_sum }} - {{ f.filesize }} + {{ f.filesize|filesizeformat }} {% if f.gpg_signature_file %}SIG{% endif %} {% if release_files|has_sigstore_materials %} {% if f.sigstore_bundle_file %} From d1b8e852f372e7a989c4e34bfaa296b998043a6b Mon Sep 17 00:00:00 2001 From: Noelle Leigh Date: Sun, 31 Dec 2023 10:47:24 -0500 Subject: [PATCH 2/2] DownloadViewsTests: Add test for file size format Adds a subTest to downloads.tests.test_views.DownloadViewsTests.test_download_release_detail to verify that the file size is displayed in MB. --- downloads/tests/base.py | 1 + downloads/tests/test_views.py | 3 +++ 2 files changed, 4 insertions(+) diff --git a/downloads/tests/base.py b/downloads/tests/base.py index e19ffe03a..bcb7905c4 100644 --- a/downloads/tests/base.py +++ b/downloads/tests/base.py @@ -64,6 +64,7 @@ def setUp(self): is_source=True, description='Gzipped source', url='ftp/python/2.7.5/Python-2.7.5.tgz', + filesize=12345678, ) self.draft_release = Release.objects.create( diff --git a/downloads/tests/test_views.py b/downloads/tests/test_views.py index 75fe76693..50270c556 100644 --- a/downloads/tests/test_views.py +++ b/downloads/tests/test_views.py @@ -40,6 +40,9 @@ def test_download_release_detail(self): response = self.client.get(url) self.assertEqual(response.status_code, 200) + with self.subTest("Release file sizes should be human-readable"): + self.assertInHTML("11.8 MB", response.content.decode()) + url = reverse('download:download_release_detail', kwargs={'release_slug': 'fake_slug'}) response = self.client.get(url) self.assertEqual(response.status_code, 404)