[Python-checkins] CVS: python/dist/src/Lib rfc822.py,1.65,1.66
Guido van Rossum
gvanrossum@users.sourceforge.net
Thu, 20 Dec 2001 07:54:50 -0800
Update of /cvsroot/python/python/dist/src/Lib
In directory usw-pr-cvs1:/tmp/cvs-serv31562
Modified Files:
rfc822.py
Log Message:
SF patch #495358 (Artur Zaprzala): rfc822.AddressList and "<>" address
rfc822.AddressList incorrectly handles empty address.
"<>" is converted to None and should be "".
AddressList.__str__() fails on None.
I got an email with such an address and my program
failed processing it.
Example:
>>> import rfc822
>>> rfc822.AddressList("<>").addresslist
[('', None)]
>>> str(rfc822.AddressList("<>"))
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "/usr/lib/python2.1/rfc822.py", line 753, in __str__
return ", ".join(map(dump_address_pair,
self.addresslist))
TypeError: sequence item 0: expected string, None found
[His solution: in the internal routine AddrlistClass.getrouteaddr(),
initialize adlist to "".]
Index: rfc822.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/rfc822.py,v
retrieving revision 1.65
retrieving revision 1.66
diff -C2 -d -r1.65 -r1.66
*** rfc822.py 2001/11/13 21:30:37 1.65
--- rfc822.py 2001/12/20 15:54:48 1.66
***************
*** 625,629 ****
self.pos = self.pos + 1
self.gotonext()
! adlist = None
while self.pos < len(self.field):
if expectroute:
--- 625,629 ----
self.pos = self.pos + 1
self.gotonext()
! adlist = ""
while self.pos < len(self.field):
if expectroute: