Skip to content

Commit 180e697

Browse files
authored
Fix weekday search (#1274)
1 parent 114f5c5 commit 180e697

File tree

3 files changed

+24
-1
lines changed

3 files changed

+24
-1
lines changed

dateparser/parser.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -512,6 +512,10 @@ def _correct_for_time_frame(self, dateobj, tz):
512512

513513
dateobj = dateobj + delta
514514

515+
# set the token_month here so that it is not subsequently
516+
# altered by _correct_for_month
517+
self._token_month = dateobj.month
518+
515519
# NOTE: If this assert fires, self.now needs to be made offset-aware in a similar
516520
# way that dateobj is temporarily made offset-aware.
517521
assert not (self.now.tzinfo is None and dateobj.tzinfo is not None), (

tests/test_date_parser.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -628,6 +628,25 @@ def test_preferably_future_dates(self, date_string, expected):
628628
self.then_date_was_parsed_by_date_parser()
629629
self.then_date_obj_exactly_is(expected)
630630

631+
@parameterized.expand(
632+
[
633+
param("Monday", datetime(2015, 3, 2)),
634+
]
635+
)
636+
def test_preferably_future_dates_relative_last_week_of_month(
637+
self, date_string, expected
638+
):
639+
self.given_local_tz_offset(0)
640+
self.given_parser(
641+
settings={
642+
"PREFER_DATES_FROM": "future",
643+
"RELATIVE_BASE": datetime(2015, 2, 24, 15, 30),
644+
}
645+
)
646+
self.when_date_is_parsed(date_string)
647+
self.then_date_was_parsed_by_date_parser()
648+
self.then_date_obj_exactly_is(expected)
649+
631650
@parameterized.expand(
632651
[
633652
param("10 December", datetime(2015, 12, 10)),

tests/test_search.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -410,7 +410,7 @@ def test_search_date_string(self, shortname, datetime_string):
410410
"Die UdSSR blieb gemäß dem Neutralitätspakt "
411411
"vom 13. April 1941 gegenüber Japan vorerst neutral.",
412412
[
413-
("Die", datetime.datetime(1999, 1, 28, 0, 0)),
413+
("Die", datetime.datetime(1999, 12, 28, 0, 0)),
414414
("13. April 1941", datetime.datetime(1941, 4, 13, 0, 0)),
415415
],
416416
settings={"RELATIVE_BASE": datetime.datetime(2000, 1, 1)},

0 commit comments

Comments
 (0)