The problem was that it expected rfc822.parseaddr() to return None
upon a parse failure. The actual, documented return value for a
parse failure is (None, None).
Closes SF bug 602029.
Should be able to handle anything rfc822.parseaddr can handle.
"""
- m=None
+ m = (None, None)
try:
m=rfc822.parseaddr(addr)[1]
except AttributeError:
pass
- if not m:
+ if m == (None, None): # Indicates parse failure or AttributeError
#something weird here.. punt -ddm
- return addr
+ return "<%s>" % addr
else:
return "<%s>" % m