From 1edcd4770310d43727de47b43d1745bc014fa3d0 Mon Sep 17 00:00:00 2001 From: Alvaro Enrique Ruano Date: Mon, 17 Dec 2018 15:32:15 -0600 Subject: [PATCH] Support for daterange in spanish (#1125) --- src/pretix/helpers/daterange.py | 7 +++++++ src/tests/helpers/test_daterange.py | 27 +++++++++++++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/src/pretix/helpers/daterange.py b/src/pretix/helpers/daterange.py index 44228a1115..5adc3b2c93 100644 --- a/src/pretix/helpers/daterange.py +++ b/src/pretix/helpers/daterange.py @@ -19,6 +19,13 @@ def daterange(df, dt): return "{} – {}".format(_date(df, "N jS"), _date(dt, "jS, Y")) elif df.year == dt.year: return "{} – {}".format(_date(df, "N jS"), _date(dt, "N jS, Y")) + elif lng.startswith("es"): + if df.year == dt.year and df.month == dt.month and df.day == dt.day: + return "{}".format(_date(df, "DATE_FORMAT")) + elif df.year == dt.year and df.month == dt.month: + return "{} - {} de {} de {}".format(_date(df, "j"), _date(dt, "j"), _date(dt, "F"), _date(dt, "Y")) + elif df.year == dt.year: + return "{} de {} - {} de {} de {}".format(_date(df, "j"), _date(df, "F"), _date(dt, "j"), _date(dt, "F"), _date(dt, "Y")) return _("{date_from} – {date_to}").format( date_from=_date(df, "DATE_FORMAT"), date_to=_date(dt, "DATE_FORMAT") diff --git a/src/tests/helpers/test_daterange.py b/src/tests/helpers/test_daterange.py index 10b4569103..3a3016877b 100644 --- a/src/tests/helpers/test_daterange.py +++ b/src/tests/helpers/test_daterange.py @@ -17,6 +17,12 @@ def test_same_day_english(): assert daterange(df, df) == "Feb. 1st, 2003" +def test_same_day_spanish(): + with translation.override('es'): + df = date(2003, 2, 1) + assert daterange(df, df) == "1 de Febrero de 2003" + + def test_same_month_german(): with translation.override('de'): df = date(2003, 2, 1) @@ -31,6 +37,13 @@ def test_same_month_english(): assert daterange(df, dt) == "Feb. 1st – 3rd, 2003" +def test_same_month_spanish(): + with translation.override('es'): + df = date(2003, 2, 1) + dt = date(2003, 2, 3) + assert daterange(df, dt) == "1 - 3 de Febrero de 2003" + + def test_same_year_german(): with translation.override('de'): df = date(2003, 2, 1) @@ -45,6 +58,13 @@ def test_same_year_english(): assert daterange(df, dt) == "Feb. 1st – April 3rd, 2003" +def test_same_year_spanish(): + with translation.override('es'): + df = date(2003, 2, 1) + dt = date(2003, 4, 3) + assert daterange(df, dt) == "1 de Febrero - 3 de Abril de 2003" + + def test_different_dates_german(): with translation.override('de'): df = date(2003, 2, 1) @@ -57,3 +77,10 @@ def test_different_dates_english(): df = date(2003, 2, 1) dt = date(2005, 4, 3) assert daterange(df, dt) == "Feb. 1, 2003 – April 3, 2005" + + +def test_different_dates_spanish(): + with translation.override('es'): + df = date(2003, 2, 1) + dt = date(2005, 4, 3) + assert daterange(df, dt) == "1 de Febrero de 2003 – 3 de Abril de 2005"