scrapinghub / dateparser

python parser for human readable dates
BSD 3-Clause "New" or "Revised" License
2.55k stars 465 forks source link

Search_Dates Error Report #734

Closed valmendil closed 4 years ago

valmendil commented 4 years ago

The following code crashes:

part = search_dates("Edmonton, AB T5J 2Z2 Sent: November-15-18 4:44 PM")

It gives me the following error: File "kv_extraction.py", line 51, in extract part = search_dates("Edmonton, AB T5J 2Z2 Sent: November-15-18 4:44 PM") File "/usr/local/lib/python3.6/dist-packages/dateparser/search/init.py", line 50, in search_dates text=text, languages=languages, settings=settings File "/usr/local/lib/python3.6/dist-packages/dateparser/conf.py", line 84, in wrapper return f(*args, *kwargs) File "/usr/local/lib/python3.6/dist-packages/dateparser/search/search.py", line 230, in search_dates settings=settings)} File "/usr/local/lib/python3.6/dist-packages/dateparser/search/search.py", line 162, in search_parse original=original, translated=translated, settings=settings) File "/usr/local/lib/python3.6/dist-packages/dateparser/search/search.py", line 125, in parse_found_objects parsed_item = self.parse_item(parser, item, translated[i], parsed, need_relative_base) File "/usr/local/lib/python3.6/dist-packages/dateparser/search/search.py", line 111, in parse_item parsed_item = parser.get_date_data(item) File "/usr/local/lib/python3.6/dist-packages/dateparser/date.py", line 418, in get_date_data locale, date_string, date_formats, settings=self._settings) File "/usr/local/lib/python3.6/dist-packages/dateparser/date.py", line 196, in parse return instance._parse() File "/usr/local/lib/python3.6/dist-packages/dateparser/date.py", line 200, in _parse date_obj = self._parsers[parser_name]() File "/usr/local/lib/python3.6/dist-packages/dateparser/date.py", line 223, in _try_parser self._get_translated_date(), settings=self._settings) File "/usr/local/lib/python3.6/dist-packages/dateparser/conf.py", line 84, in wrapper return f(args, **kwargs) File "/usr/local/lib/python3.6/dist-packages/dateparser/date_parser.py", line 26, in parse date_obj, period = parse(date_string, settings=settings) File "/usr/local/lib/python3.6/dist-packages/dateparser/parser.py", line 72, in parse raise exceptions.pop(-1) File "/usr/local/lib/python3.6/dist-packages/dateparser/parser.py", line 66, in parse res = parser(datestring, settings) File "/usr/local/lib/python3.6/dist-packages/dateparser/parser.py", line 443, in parse dateobj = po._correct_for_time_frame(dateobj) File "/usr/local/lib/python3.6/dist-packages/dateparser/parser.py", line 403, in _correct_for_time_frame if self.now < dateobj: TypeError: can't compare offset-naive and offset-aware datetimes

I installed dateparser with pip quite recently Is there something I messed up?

Gallaecio commented 4 years ago

Which version of Dateparser are you using? Could you try Dateparser from the master branch?

valmendil commented 4 years ago

I tested it for versions 0.7.4 (pip) and 0.7.6 (github master branch).

noviluni commented 4 years ago

Hi @valmendil,

This is a known issue, and I will try to fix it before the next version.

Thank you for comenting

Closing as duplicate of this: https://github.com/scrapinghub/dateparser/issues/679 (and related to this: https://github.com/scrapinghub/dateparser/issues/491)