scrapinghub / scrapinghub/dateparser
Strange parser error: search_dates parses "2010 Year" to a date with year of 4033
Open
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 2.9k
- Forks
- 520
- Avg merge
- 22h 56m
- Merged PRs (30d)
- 6
Description
Very strange issue.
dateparser.__version__
'1.1.8'
settings= {
'RELATIVE_BASE': datetime.datetime(2023, 7, 31, 0, 0),
'PREFER_DAY_OF_MONTH': 'first',
'PREFER_DATES_FROM': 'future',
'REQUIRE_PARTS': ['year', 'month'],
'DATE_ORDER': 'YMD'
}
s = 'Closing Yield, 2010 Year Treasury notes On Dec 31, 2023'
search_dates(s, settings=settings)
Result:
Out[27]:
[('2010 Year', datetime.datetime(4033, 7, 31, 0, 0)),
('On Dec 31, 2023', datetime.datetime(2023, 12, 31, 0, 0))]
(impossible year 4033 from the first part of the parse)
Also, put this question on SO *link:**
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the reported search_dates call with the provided RELATIVE_BASE, PREFER_DATES_FROM, REQUIRE_PARTS, and DATE_ORDER settings. Trace how the parser handles the "2010 Year" fragment; done means it no longer produces the impossible year 4033 while still returning the Dec 31, 2023 result.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100