scrapinghub / dateparser

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

DateDataParser.get_date_data() raises TypeError for some inputs #339

Closed nathanathan closed 4 years ago

nathanathan commented 7 years ago

Usually get_date_data will handle unparsable inputs by returning an dict with a None date_obj property. However, some inputs like this one cause it to raise errors:

from dateparser.date import DateDataParser
import datetime
parser = DateDataParser(['en'], settings={'RELATIVE_BASE': datetime.datetime.now()})
parser.get_date_data('53, 2015')

Error:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/nathan/venvs/main/local/lib/python2.7/site-packages/dateparser/date.py", line 371, in get_date_data
    language, date_string, date_formats, settings=self._settings)
  File "/home/nathan/venvs/main/local/lib/python2.7/site-packages/dateparser/date.py", line 168, in parse
    return instance._parse()
  File "/home/nathan/venvs/main/local/lib/python2.7/site-packages/dateparser/date.py", line 178, in _parse
    date_obj = parser()
  File "/home/nathan/venvs/main/local/lib/python2.7/site-packages/dateparser/date.py", line 199, in _try_parser
    self._get_translated_date(), settings=self._settings)
  File "/home/nathan/venvs/main/local/lib/python2.7/site-packages/dateparser/conf.py", line 84, in wrapper
    return f(*args, **kwargs)
  File "/home/nathan/venvs/main/local/lib/python2.7/site-packages/dateparser/date_parser.py", line 26, in parse
    date_obj, period = parse(date_string, settings=settings)
  File "/home/nathan/venvs/main/local/lib/python2.7/site-packages/dateparser/parser.py", line 84, in parse
    raise exceptions.pop(-1)
TypeError: Required argument 'day' (pos 3) not found

Dateparser version: 0.6.0 Python version: 2.7.6

asadurski commented 6 years ago

Probably related to https://github.com/scrapinghub/dateparser/issues/336.

noviluni commented 4 years ago

This was fixed in a previous version ofdateparser (0.7.4). :slightly_smiling_face: