diff options
| author | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2024-02-08 10:58:54 +0100 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2024-02-08 10:59:43 +0100 |
| commit | c22075af803e031e2977ed93391c2e3c6a714df4 (patch) | |
| tree | 29049665388918ec6b092e3eb88c39ae333e6e0d | |
| parent | 540b28ff9f7fc9a26181146b139af58f87bc9f53 (diff) | |
[5.0.x] Fixed #35172 -- Fixed intcomma for string floats.
Thanks Warwick Brown for the report.
Regression in 55519d6cf8998fe4c8f5c8abffc2b10a7c3d14e9.
Backport of 2f14c2cedc9c92373471c1f98a80c81ba299584a from main
| -rw-r--r-- | django/contrib/humanize/templatetags/humanize.py | 2 | ||||
| -rw-r--r-- | docs/releases/3.2.25.txt | 13 | ||||
| -rw-r--r-- | docs/releases/4.2.11.txt | 13 | ||||
| -rw-r--r-- | docs/releases/5.0.3.txt | 3 | ||||
| -rw-r--r-- | docs/releases/index.txt | 2 | ||||
| -rw-r--r-- | tests/humanize_tests/tests.py | 12 |
6 files changed, 44 insertions, 1 deletions
diff --git a/django/contrib/humanize/templatetags/humanize.py b/django/contrib/humanize/templatetags/humanize.py index 2c26f8944a..19000c185c 100644 --- a/django/contrib/humanize/templatetags/humanize.py +++ b/django/contrib/humanize/templatetags/humanize.py @@ -80,6 +80,8 @@ def intcomma(value, use_l10n=True): if match: prefix = match[0] prefix_with_commas = re.sub(r"\d{3}", r"\g<0>,", prefix[::-1])[::-1] + # Remove a leading comma, if needed. + prefix_with_commas = re.sub(r"^(-?),", r"\1", prefix_with_commas) result = prefix_with_commas + result[len(prefix) :] return result diff --git a/docs/releases/3.2.25.txt b/docs/releases/3.2.25.txt new file mode 100644 index 0000000000..c84483f783 --- /dev/null +++ b/docs/releases/3.2.25.txt @@ -0,0 +1,13 @@ +=========================== +Django 3.2.25 release notes +=========================== + +*Expected March 4, 2024* + +Django 3.2.25 fixes a regression in 3.2.24. + +Bugfixes +======== + +* Fixed a regression in Django 3.2.24 where ``intcomma`` template filter could + return a leading comma for string representation of floats (:ticket:`35172`). diff --git a/docs/releases/4.2.11.txt b/docs/releases/4.2.11.txt new file mode 100644 index 0000000000..c59f131b1a --- /dev/null +++ b/docs/releases/4.2.11.txt @@ -0,0 +1,13 @@ +=========================== +Django 4.2.11 release notes +=========================== + +*Expected March 4, 2024* + +Django 4.2.11 fixes a regression in 4.2.10. + +Bugfixes +======== + +* Fixed a regression in Django 4.2.10 where ``intcomma`` template filter could + return a leading comma for string representation of floats (:ticket:`35172`). diff --git a/docs/releases/5.0.3.txt b/docs/releases/5.0.3.txt index 8fe37c9d90..384ce27fb7 100644 --- a/docs/releases/5.0.3.txt +++ b/docs/releases/5.0.3.txt @@ -9,4 +9,5 @@ Django 5.0.3 fixes several bugs in 5.0.2. Bugfixes ======== -* ... +* Fixed a regression in Django 5.0.2 where ``intcomma`` template filter could + return a leading comma for string representation of floats (:ticket:`35172`). diff --git a/docs/releases/index.txt b/docs/releases/index.txt index 68261d4c30..92859af4ea 100644 --- a/docs/releases/index.txt +++ b/docs/releases/index.txt @@ -36,6 +36,7 @@ versions of the documentation contain the release notes for any later releases. .. toctree:: :maxdepth: 1 + 4.2.11 4.2.10 4.2.9 4.2.8 @@ -90,6 +91,7 @@ versions of the documentation contain the release notes for any later releases. .. toctree:: :maxdepth: 1 + 3.2.25 3.2.24 3.2.23 3.2.22 diff --git a/tests/humanize_tests/tests.py b/tests/humanize_tests/tests.py index a78bbadafd..5e4f7f0ef7 100644 --- a/tests/humanize_tests/tests.py +++ b/tests/humanize_tests/tests.py @@ -129,12 +129,18 @@ class HumanizeTests(SimpleTestCase): -1234567.25, "100", "-100", + "100.1", + "-100.1", + "100.13", + "-100.13", "1000", "-1000", "10123", "-10123", "10311", "-10311", + "100000.13", + "-100000.13", "1000000", "-1000000", "1234567.1234567", @@ -163,12 +169,18 @@ class HumanizeTests(SimpleTestCase): "-1,234,567.25", "100", "-100", + "100.1", + "-100.1", + "100.13", + "-100.13", "1,000", "-1,000", "10,123", "-10,123", "10,311", "-10,311", + "100,000.13", + "-100,000.13", "1,000,000", "-1,000,000", "1,234,567.1234567", |
