New submission from Serhiy Storchaka <[email protected]>:
Documentation says that parsedate_to_datetime() performs the same function as
parsedata(), but on success returns a datetime.
parsedata() returns None when date cannot be parsed, but
parsedate_to_datetime() raises TypeError.
>>> email.utils.parsedate("0")
>>> email.utils.parsedate_to_datetime("0")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/serhiy/py/cpython/Lib/email/utils.py", line 198, in
parsedate_to_datetime
*dtuple, tz = _parsedate_tz(data)
TypeError: cannot unpack non-iterable NoneType object
The other use case is passing None as arguments. Although it is not documented,
but I seen the following code in wild:
parsedate(header.get('Date'))
parsedate() and parsedate_tz() accept None, but parsedate_to_datetime() does
not.
----------
components: Library (Lib), email
messages: 379661
nosy: barry, maxking, r.david.murray, serhiy.storchaka
priority: normal
severity: normal
status: open
title: email.utils.parsedate_to_datetime() should return None when date cannot
be parsed
versions: Python 3.10
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue42155>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com