Skip to content

Commit 6d808e4

Browse files
committed
Add new variables to dates to provide month names.
1 parent 661f7fa commit 6d808e4

File tree

2 files changed

+32
-18
lines changed

2 files changed

+32
-18
lines changed

domdf_python_tools/dates.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@
5656
"get_month_number",
5757
"check_date",
5858
"calc_easter",
59+
"month_short_names",
60+
"month_full_names",
5961
]
6062

6163

@@ -150,6 +152,20 @@ def utc_timestamp_to_datetime(
150152
Dec="December",
151153
)
152154

155+
month_short_names = tuple(months.keys())
156+
"""
157+
List of the short names for months in the Gregorian calendar.
158+
159+
.. versionadded:: 2.0.0
160+
"""
161+
162+
month_full_names = tuple(months.values())
163+
"""
164+
List of the full names for months in the Gregorian calendar.
165+
166+
.. versionadded:: 2.0.0
167+
"""
168+
153169

154170
def parse_month(month: Union[str, int]) -> str:
155171
"""

tests/test_dates.py

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,8 @@
77
"""
88

99
# stdlib
10-
import datetime
1110
import re
12-
from datetime import date
11+
from datetime import date, datetime, timedelta
1312

1413
# 3rd party
1514
import pytest
@@ -19,44 +18,43 @@
1918
from domdf_python_tools.dates import calc_easter
2019
from domdf_python_tools.testing import count
2120

22-
# TODO: travis matrix to test without pytz installed
2321
# TODO: test get_timezone
2422

2523
try:
2624
# 3rd party
2725
import pytz
2826

29-
test_date = datetime.datetime(1996, 10, 13, 2, 20).replace(tzinfo=pytz.utc)
30-
today = datetime.datetime.utcnow().replace(tzinfo=pytz.utc) # make sure UTC
27+
test_date = datetime(1996, 10, 13, 2, 20).replace(tzinfo=pytz.utc)
28+
today = datetime.utcnow().replace(tzinfo=pytz.utc) # make sure UTC
3129

3230
def test_utc_offset():
3331
# Check that the correct UTC offsets are given for common timezones
34-
assert dates.get_utc_offset("US/Pacific", test_date) == datetime.timedelta(-1, 61200)
35-
assert dates.get_utc_offset("Europe/London", test_date) == datetime.timedelta(0, 3600)
36-
assert dates.get_utc_offset("Africa/Algiers", test_date) == datetime.timedelta(0, 3600)
32+
assert dates.get_utc_offset("US/Pacific", test_date) == timedelta(-1, 61200)
33+
assert dates.get_utc_offset("Europe/London", test_date) == timedelta(0, 3600)
34+
assert dates.get_utc_offset("Africa/Algiers", test_date) == timedelta(0, 3600)
3735
# TODO: Finish
3836

3937
# Check that the correct UTC offsets are given for common timezones for today
4038
assert dates.get_utc_offset("US/Pacific", today) in {
41-
datetime.timedelta(-1, 57600),
42-
datetime.timedelta(-1, 61200),
39+
timedelta(-1, 57600),
40+
timedelta(-1, 61200),
4341
}
4442
assert dates.get_utc_offset("Europe/London", today) in {
45-
datetime.timedelta(0, 3600), # BST
46-
datetime.timedelta(0, 0),
43+
timedelta(0, 3600), # BST
44+
timedelta(0, 0),
4745
}
48-
assert dates.get_utc_offset("Africa/Algiers", today) == datetime.timedelta(0, 3600)
46+
assert dates.get_utc_offset("Africa/Algiers", today) == timedelta(0, 3600)
4947

5048
# Check that the correct UTC offsets are given for common timezones when ``date`` is not given
5149
assert dates.get_utc_offset("US/Pacific") in {
52-
datetime.timedelta(-1, 57600),
53-
datetime.timedelta(-1, 61200),
50+
timedelta(-1, 57600),
51+
timedelta(-1, 61200),
5452
}
5553
assert dates.get_utc_offset("Europe/London") in {
56-
datetime.timedelta(0, 3600), # BST
57-
datetime.timedelta(0, 0),
54+
timedelta(0, 3600), # BST
55+
timedelta(0, 0),
5856
}
59-
assert dates.get_utc_offset("Africa/Algiers") == datetime.timedelta(0, 3600)
57+
assert dates.get_utc_offset("Africa/Algiers") == timedelta(0, 3600)
6058

6159
def test_converting_timezone():
6260
# No matter what timezone we convert to the timestamp should be the same

0 commit comments

Comments
 (0)