Stuart D Gathman added the comment: # A quick and very dirty fix for common broken cases, with test cases.
import rfc822 def parseaddr(t): """Split email into Fullname and address. >>> parseaddr('[EMAIL PROTECTED]') ('', '[EMAIL PROTECTED]') >>> parseaddr('"Full Name" <[EMAIL PROTECTED]>') ('Full Name', '[EMAIL PROTECTED]') >>> parseaddr('[EMAIL PROTECTED] <[EMAIL PROTECTED]>') ('[EMAIL PROTECTED]', '[EMAIL PROTECTED]') >>> parseaddr('"God" <@hop1.org,@hop2.net:[EMAIL PROTECTED]>') ('God', '[EMAIL PROTECTED]') """ #return email.Utils.parseaddr(t) res = rfc822.parseaddr(t) # dirty fix for some broken cases if not res[0]: pos = t.find('<') if pos > 0 and t[-1] == '>': addrspec = t[pos+1:-1] pos1 = addrspec.rfind(':') if pos1 > 0: addrspec = addrspec[pos1+1:] return rfc822.parseaddr('"%s" <%s>' % (t[:pos].strip(),addrspec)) if not res[1]: pos = t.find('<') if pos > 0 and t[-1] == '>': addrspec = t[pos+1:-1] pos1 = addrspec.rfind(':') if pos1 > 0: addrspec = addrspec[pos1+1:] return rfc822.parseaddr('%s<%s>' % (t[:pos].strip(),addrspec)) return res _____________________________________ Tracker <[EMAIL PROTECTED]> <http://bugs.python.org/issue1025395> _____________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com