From 647f0a07be21fd2410982c7c35eb43133ab94262 Mon Sep 17 00:00:00 2001 From: Kyle Altendorf Date: Mon, 13 May 2019 18:11:54 -0400 Subject: [PATCH 1/4] Correct regex A-z typo --- pendulum/formatting/formatter.py | 2 +- tests/datetime/test_from_format.py | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/pendulum/formatting/formatter.py b/pendulum/formatting/formatter.py index c6ed389a..a57b977d 100644 --- a/pendulum/formatting/formatter.py +++ b/pendulum/formatting/formatter.py @@ -33,7 +33,7 @@ "['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+" "|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}" ) -_MATCH_TIMEZONE = "[A-za-z0-9-+]+(/[A-Za-z0-9-+_]+)?" +_MATCH_TIMEZONE = "[A-Za-z0-9-+]+(/[A-Za-z0-9-+_]+)?" class Formatter: diff --git a/tests/datetime/test_from_format.py b/tests/datetime/test_from_format.py index c5aeaa27..c0141789 100644 --- a/tests/datetime/test_from_format.py +++ b/tests/datetime/test_from_format.py @@ -31,6 +31,16 @@ def test_from_format_with_timezone(): assert "Europe/London" == d.timezone_name +def test_from_format_with_square_bracket_in_timezone(): + with pytest.raises(ValueError, match='^String does not match format'): + d = pendulum.from_format( + "1975-05-21 22:32:11 Eu[rope/London", + "YYYY-MM-DD HH:mm:ss z", + ) + assert_datetime(d, 1975, 5, 21, 22, 32, 11) + assert "Europe/London" == d.timezone_name + + def test_from_format_with_escaped_elements(): d = pendulum.from_format("1975-05-21T22:32:11+00:00", "YYYY-MM-DD[T]HH:mm:ssZ") assert_datetime(d, 1975, 5, 21, 22, 32, 11) From 8271a6074621280a6b4236c638bf553d5724d571 Mon Sep 17 00:00:00 2001 From: Kyle Altendorf Date: Mon, 13 May 2019 18:16:56 -0400 Subject: [PATCH 2/4] Remove unneeded lines from test --- tests/datetime/test_from_format.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/tests/datetime/test_from_format.py b/tests/datetime/test_from_format.py index c0141789..132b453d 100644 --- a/tests/datetime/test_from_format.py +++ b/tests/datetime/test_from_format.py @@ -37,8 +37,6 @@ def test_from_format_with_square_bracket_in_timezone(): "1975-05-21 22:32:11 Eu[rope/London", "YYYY-MM-DD HH:mm:ss z", ) - assert_datetime(d, 1975, 5, 21, 22, 32, 11) - assert "Europe/London" == d.timezone_name def test_from_format_with_escaped_elements(): From 01c1d84025e03f3c8476bdc92460a655a3567656 Mon Sep 17 00:00:00 2001 From: Kyle Altendorf Date: Mon, 13 May 2019 18:17:19 -0400 Subject: [PATCH 3/4] Remove more unneeded... --- tests/datetime/test_from_format.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/datetime/test_from_format.py b/tests/datetime/test_from_format.py index 132b453d..12105d2f 100644 --- a/tests/datetime/test_from_format.py +++ b/tests/datetime/test_from_format.py @@ -33,7 +33,7 @@ def test_from_format_with_timezone(): def test_from_format_with_square_bracket_in_timezone(): with pytest.raises(ValueError, match='^String does not match format'): - d = pendulum.from_format( + pendulum.from_format( "1975-05-21 22:32:11 Eu[rope/London", "YYYY-MM-DD HH:mm:ss z", ) From a0f2bad544f79de1f2dd340ebe8feaac35afff01 Mon Sep 17 00:00:00 2001 From: Kyle Altendorf Date: Fri, 10 Apr 2020 20:58:43 -0400 Subject: [PATCH 4/4] black --- tests/datetime/test_from_format.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/tests/datetime/test_from_format.py b/tests/datetime/test_from_format.py index 0b35e24b..0949332c 100644 --- a/tests/datetime/test_from_format.py +++ b/tests/datetime/test_from_format.py @@ -37,10 +37,9 @@ def test_from_format_with_timezone(): def test_from_format_with_square_bracket_in_timezone(): - with pytest.raises(ValueError, match='^String does not match format'): + with pytest.raises(ValueError, match="^String does not match format"): pendulum.from_format( - "1975-05-21 22:32:11 Eu[rope/London", - "YYYY-MM-DD HH:mm:ss z", + "1975-05-21 22:32:11 Eu[rope/London", "YYYY-MM-DD HH:mm:ss z", )