Skip to content

Commit 4abc087

Browse files
authored
fix: rename period to interval in repr and tests (#757)
1 parent 18f9c0e commit 4abc087

File tree

9 files changed

+102
-100
lines changed

9 files changed

+102
-100
lines changed

src/pendulum/duration.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@ def in_words(self, locale: str | None = None, separator: str = " ") -> str:
236236
:param locale: The locale to use. Defaults to current locale.
237237
:param separator: The separator to use between each unit
238238
"""
239-
periods = [
239+
intervals = [
240240
("year", self.years),
241241
("month", self.months),
242242
("week", self.weeks),
@@ -252,13 +252,13 @@ def in_words(self, locale: str | None = None, separator: str = " ") -> str:
252252
loaded_locale = pendulum.locale(locale)
253253

254254
parts = []
255-
for period in periods:
256-
unit, period_count = period
257-
if abs(period_count) > 0:
255+
for interval in intervals:
256+
unit, interval_count = interval
257+
if abs(interval_count) > 0:
258258
translation = loaded_locale.translation(
259-
f"units.{unit}.{loaded_locale.plural(abs(period_count))}"
259+
f"units.{unit}.{loaded_locale.plural(abs(interval_count))}"
260260
)
261-
parts.append(translation.format(period_count))
261+
parts.append(translation.format(interval_count))
262262

263263
if not parts:
264264
count: int | str = 0

src/pendulum/interval.py

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828

2929
class Interval(Duration):
3030
"""
31-
A period of time between two datetimes.
31+
An interval of time between two datetimes.
3232
"""
3333

3434
@overload
@@ -61,7 +61,9 @@ def __new__(
6161
or not isinstance(start, datetime)
6262
and isinstance(end, datetime)
6363
):
64-
raise ValueError("Both start and end of a Period must have the same type")
64+
raise ValueError(
65+
"Both start and end of an Interval must have the same type"
66+
)
6567

6668
if (
6769
isinstance(start, datetime)
@@ -234,13 +236,13 @@ def end(self) -> pendulum.DateTime | pendulum.Date | datetime | date:
234236

235237
def in_years(self) -> int:
236238
"""
237-
Gives the duration of the Period in full years.
239+
Gives the duration of the Interval in full years.
238240
"""
239241
return self.years
240242

241243
def in_months(self) -> int:
242244
"""
243-
Gives the duration of the Period in full months.
245+
Gives the duration of the Interval in full months.
244246
"""
245247
return self.years * MONTHS_PER_YEAR + self.months
246248

@@ -267,7 +269,7 @@ def in_words(self, locale: str | None = None, separator: str = " ") -> str:
267269
"""
268270
from pendulum.locales.locale import Locale
269271

270-
periods = [
272+
intervals = [
271273
("year", self.years),
272274
("month", self.months),
273275
("week", self.weeks),
@@ -278,13 +280,13 @@ def in_words(self, locale: str | None = None, separator: str = " ") -> str:
278280
]
279281
loaded_locale: Locale = Locale.load(locale or pendulum.get_locale())
280282
parts = []
281-
for period in periods:
282-
unit, period_count = period
283-
if abs(period_count) > 0:
283+
for interval in intervals:
284+
unit, interval_count = interval
285+
if abs(interval_count) > 0:
284286
translation = loaded_locale.translation(
285-
f"units.{unit}.{loaded_locale.plural(abs(period_count))}"
287+
f"units.{unit}.{loaded_locale.plural(abs(interval_count))}"
286288
)
287-
parts.append(translation.format(period_count))
289+
parts.append(translation.format(interval_count))
288290

289291
if not parts:
290292
count: str | int = 0
@@ -382,7 +384,7 @@ def __abs__(self) -> Self:
382384
return self.__class__(self.start, self.end, absolute=True)
383385

384386
def __repr__(self) -> str:
385-
return f"<Period [{self._start} -> {self._end}]>"
387+
return f"<Interval [{self._start} -> {self._end}]>"
386388

387389
def __str__(self) -> str:
388390
return self.__repr__()

tests/datetime/test_add.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -259,10 +259,10 @@ def test_add_interval():
259259
assert_datetime(new, 2017, 3, 12, 11, 45)
260260

261261

262-
def test_period_over_midnight_tz():
262+
def test_interval_over_midnight_tz():
263263
start = pendulum.datetime(2018, 2, 25, tz="Europe/Paris")
264264
end = start.add(hours=1)
265-
period = end - start
266-
new_end = start + period
265+
interval = end - start
266+
new_end = start + interval
267267

268268
assert new_end == end

tests/interval/test_add_subtract.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,35 +6,35 @@
66
def test_dst_add():
77
start = pendulum.datetime(2017, 3, 7, tz="America/Toronto")
88
end = start.add(days=6)
9-
period = end - start
10-
new_end = start + period
9+
interval = end - start
10+
new_end = start + interval
1111

1212
assert new_end == end
1313

1414

1515
def test_dst_add_non_variable_units():
1616
start = pendulum.datetime(2013, 3, 31, 1, 30, tz="Europe/Paris")
1717
end = start.add(hours=1)
18-
period = end - start
19-
new_end = start + period
18+
interval = end - start
19+
new_end = start + interval
2020

2121
assert new_end == end
2222

2323

2424
def test_dst_subtract():
2525
start = pendulum.datetime(2017, 3, 7, tz="America/Toronto")
2626
end = start.add(days=6)
27-
period = end - start
28-
new_start = end - period
27+
interval = end - start
28+
new_start = end - interval
2929

3030
assert new_start == start
3131

3232

3333
def test_naive_subtract():
3434
start = pendulum.naive(2013, 3, 31, 1, 30)
3535
end = start.add(hours=1)
36-
period = end - start
37-
new_end = start + period
36+
interval = end - start
37+
new_end = start + interval
3838

3939
assert new_end == end
4040

@@ -43,7 +43,7 @@ def test_negative_difference_subtract():
4343
start = pendulum.datetime(2018, 5, 28, 12, 34, 56, 123456)
4444
end = pendulum.datetime(2018, 1, 1)
4545

46-
period = end - start
47-
new_end = start + period
46+
interval = end - start
47+
new_end = start + interval
4848

4949
assert new_end == end

tests/interval/test_behavior.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -40,28 +40,28 @@ def test_comparison_to_timedelta():
4040
dt1 = pendulum.datetime(2016, 11, 18)
4141
dt2 = pendulum.datetime(2016, 11, 20)
4242

43-
period = dt2 - dt1
43+
interval = dt2 - dt1
4444

45-
assert period < timedelta(days=4)
45+
assert interval < timedelta(days=4)
4646

4747

4848
def test_equality_to_timedelta():
4949
dt1 = pendulum.datetime(2016, 11, 18)
5050
dt2 = pendulum.datetime(2016, 11, 20)
5151

52-
period = dt2 - dt1
52+
interval = dt2 - dt1
5353

54-
assert period == timedelta(days=2)
54+
assert interval == timedelta(days=2)
5555

5656

5757
def test_inequality():
5858
dt1 = pendulum.datetime(2016, 11, 18)
5959
dt2 = pendulum.datetime(2016, 11, 20)
6060
dt3 = pendulum.datetime(2016, 11, 22)
6161

62-
period1 = dt2 - dt1
63-
period2 = dt3 - dt2
64-
period3 = dt3 - dt1
62+
interval1 = dt2 - dt1
63+
interval2 = dt3 - dt2
64+
interval3 = dt3 - dt1
6565

66-
assert period1 != period2
67-
assert period1 != period3
66+
assert interval1 != interval2
67+
assert interval1 != interval3

tests/interval/test_construct.py

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -72,17 +72,17 @@ def test_accuracy():
7272
def test_dst_transition():
7373
start = pendulum.datetime(2017, 3, 7, tz="America/Toronto")
7474
end = start.add(days=6)
75-
period = end - start
75+
interval = end - start
7676

77-
assert period.days == 5
78-
assert period.seconds == 82800
77+
assert interval.days == 5
78+
assert interval.seconds == 82800
7979

80-
assert period.remaining_days == 6
81-
assert period.hours == 0
82-
assert period.remaining_seconds == 0
80+
assert interval.remaining_days == 6
81+
assert interval.hours == 0
82+
assert interval.remaining_seconds == 0
8383

84-
assert period.in_days() == 6
85-
assert period.in_hours() == 5 * 24 + 23
84+
assert interval.in_days() == 6
85+
assert interval.in_hours() == 5 * 24 + 23
8686

8787

8888
def test_timedelta_behavior():
@@ -108,14 +108,14 @@ def test_timedelta_behavior():
108108
def test_different_timezones_same_time():
109109
dt1 = pendulum.datetime(2013, 3, 31, 1, 30, tz="Europe/Paris")
110110
dt2 = pendulum.datetime(2013, 4, 1, 1, 30, tz="Europe/Paris")
111-
period = dt2 - dt1
111+
interval = dt2 - dt1
112112

113-
assert period.in_words() == "1 day"
114-
assert period.in_hours() == 23
113+
assert interval.in_words() == "1 day"
114+
assert interval.in_hours() == 23
115115

116116
dt1 = pendulum.datetime(2013, 3, 31, 1, 30, tz="Europe/Paris")
117117
dt2 = pendulum.datetime(2013, 4, 1, 1, 30, tz="America/Toronto")
118-
period = dt2 - dt1
118+
interval = dt2 - dt1
119119

120-
assert period.in_words() == "1 day 5 hours"
121-
assert period.in_hours() == 29
120+
assert interval.in_words() == "1 day 5 hours"
121+
assert interval.in_hours() == 29

tests/interval/test_hashing.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,21 @@
33
import pendulum
44

55

6-
def test_periods_with_same_duration_and_different_dates():
6+
def test_intervals_with_same_duration_and_different_dates():
77
day1 = pendulum.DateTime(2018, 1, 1)
88
day2 = pendulum.DateTime(2018, 1, 2)
99
day3 = pendulum.DateTime(2018, 1, 2)
1010

11-
period1 = day2 - day1
12-
period2 = day3 - day2
11+
interval1 = day2 - day1
12+
interval2 = day3 - day2
1313

14-
assert period1 != period2
15-
assert len({period1, period2}) == 2
14+
assert interval1 != interval2
15+
assert len({interval1, interval2}) == 2
1616

1717

18-
def test_periods_with_same_dates():
19-
period1 = pendulum.DateTime(2018, 1, 2) - pendulum.DateTime(2018, 1, 1)
20-
period2 = pendulum.DateTime(2018, 1, 2) - pendulum.DateTime(2018, 1, 1)
18+
def test_intervals_with_same_dates():
19+
interval1 = pendulum.DateTime(2018, 1, 2) - pendulum.DateTime(2018, 1, 1)
20+
interval2 = pendulum.DateTime(2018, 1, 2) - pendulum.DateTime(2018, 1, 1)
2121

22-
assert period1 == period2
23-
assert len({period1, period2}) == 1
22+
assert interval1 == interval2
23+
assert len({interval1, interval2}) == 1

tests/interval/test_in_words.py

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,66 +5,66 @@
55

66
def test_week():
77
start_date = pendulum.datetime(2012, 1, 1)
8-
period = pendulum.interval(start=start_date, end=start_date.add(weeks=1))
9-
assert period.in_words() == "1 week"
8+
interval = pendulum.interval(start=start_date, end=start_date.add(weeks=1))
9+
assert interval.in_words() == "1 week"
1010

1111

1212
def test_week_and_day():
1313
start_date = pendulum.datetime(2012, 1, 1)
14-
period = pendulum.interval(start=start_date, end=start_date.add(weeks=1, days=1))
15-
assert period.in_words() == "1 week 1 day"
14+
interval = pendulum.interval(start=start_date, end=start_date.add(weeks=1, days=1))
15+
assert interval.in_words() == "1 week 1 day"
1616

1717

1818
def test_all():
1919
start_date = pendulum.datetime(2012, 1, 1)
20-
period = pendulum.interval(
20+
interval = pendulum.interval(
2121
start=start_date,
2222
end=start_date.add(years=1, months=1, days=1, seconds=1, microseconds=1),
2323
)
24-
assert period.in_words() == "1 year 1 month 1 day 1 second"
24+
assert interval.in_words() == "1 year 1 month 1 day 1 second"
2525

2626

2727
def test_in_french():
2828
start_date = pendulum.datetime(2012, 1, 1)
29-
period = pendulum.interval(
29+
interval = pendulum.interval(
3030
start=start_date,
3131
end=start_date.add(years=1, months=1, days=1, seconds=1, microseconds=1),
3232
)
33-
assert period.in_words(locale="fr") == "1 an 1 mois 1 jour 1 seconde"
33+
assert interval.in_words(locale="fr") == "1 an 1 mois 1 jour 1 seconde"
3434

3535

3636
def test_singular_negative_values():
3737
start_date = pendulum.datetime(2012, 1, 1)
38-
period = pendulum.interval(start=start_date, end=start_date.subtract(days=1))
39-
assert period.in_words() == "-1 day"
38+
interval = pendulum.interval(start=start_date, end=start_date.subtract(days=1))
39+
assert interval.in_words() == "-1 day"
4040

4141

4242
def test_separator():
4343
start_date = pendulum.datetime(2012, 1, 1)
44-
period = pendulum.interval(
44+
interval = pendulum.interval(
4545
start=start_date,
4646
end=start_date.add(years=1, months=1, days=1, seconds=1, microseconds=1),
4747
)
48-
assert period.in_words(separator=", ") == "1 year, 1 month, 1 day, 1 second"
48+
assert interval.in_words(separator=", ") == "1 year, 1 month, 1 day, 1 second"
4949

5050

5151
def test_subseconds():
5252
start_date = pendulum.datetime(2012, 1, 1)
53-
period = pendulum.interval(
53+
interval = pendulum.interval(
5454
start=start_date, end=start_date.add(microseconds=123456)
5555
)
56-
assert period.in_words() == "0.12 second"
56+
assert interval.in_words() == "0.12 second"
5757

5858

5959
def test_subseconds_with_seconds():
6060
start_date = pendulum.datetime(2012, 1, 1)
61-
period = pendulum.interval(
61+
interval = pendulum.interval(
6262
start=start_date, end=start_date.add(seconds=12, microseconds=123456)
6363
)
64-
assert period.in_words() == "12 seconds"
64+
assert interval.in_words() == "12 seconds"
6565

6666

67-
def test_zero_period():
67+
def test_zero_interval():
6868
start_date = pendulum.datetime(2012, 1, 1)
69-
period = pendulum.interval(start=start_date, end=start_date)
70-
assert period.in_words() == "0 microseconds"
69+
interval = pendulum.interval(start=start_date, end=start_date)
70+
assert interval.in_words() == "0 microseconds"

0 commit comments

Comments
 (0)