本文整理汇总了Python中email.Utils.parseaddr方法的典型用法代码示例。如果您正苦于以下问题:Python Utils.parseaddr方法的具体用法?Python Utils.parseaddr怎么用?Python Utils.parseaddr使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类email.Utils
的用法示例。
在下文中一共展示了Utils.parseaddr方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_parseaddr_preserves_quoted_pairs_in_addresses
# 需要导入模块: from email import Utils [as 别名]
# 或者: from email.Utils import parseaddr [as 别名]
def test_parseaddr_preserves_quoted_pairs_in_addresses(self):
# issue 10005. Note that in the third test the second pair of
# backslashes is not actually a quoted pair because it is not inside a
# comment or quoted string: the address being parsed has a quoted
# string containing a quoted backslash, followed by 'example' and two
# backslashes, followed by another quoted string containing a space and
# the word 'example'. parseaddr copies those two backslashes
# literally. Per rfc5322 this is not technically correct since a \ may
# not appear in an address outside of a quoted string. It is probably
# a sensible Postel interpretation, though.
eq = self.assertEqual
eq(Utils.parseaddr('""example" example"@example.com'),
('', '""example" example"@example.com'))
eq(Utils.parseaddr('"\\"example\\" example"@example.com'),
('', '"\\"example\\" example"@example.com'))
eq(Utils.parseaddr('"\\\\"example\\\\" example"@example.com'),
('', '"\\\\"example\\\\" example"@example.com'))
示例2: sanitize_address
# 需要导入模块: from email import Utils [as 别名]
# 或者: from email.Utils import parseaddr [as 别名]
def sanitize_address(addr, encoding):
if isinstance(addr, basestring):
addr = parseaddr(force_unicode(addr))
nm, addr = addr
nm = str(Header(nm, encoding))
try:
addr = addr.encode('ascii')
except UnicodeEncodeError: # IDN
if u'@' in addr:
localpart, domain = addr.split(u'@', 1)
localpart = str(Header(localpart, encoding))
domain = domain.encode('idna')
addr = '@'.join([localpart, domain])
else:
addr = str(Header(addr, encoding))
return formataddr((nm, addr))
示例3: test_parseaddr_empty
# 需要导入模块: from email import Utils [as 别名]
# 或者: from email.Utils import parseaddr [as 别名]
def test_parseaddr_empty(self):
self.assertEqual(Utils.parseaddr('<>'), ('', ''))
self.assertEqual(Utils.formataddr(Utils.parseaddr('<>')), '')
示例4: test_parseaddr_multiple_domains
# 需要导入模块: from email import Utils [as 别名]
# 或者: from email.Utils import parseaddr [as 别名]
def test_parseaddr_multiple_domains(self):
self.assertEqual(
Utils.parseaddr('a@b@c'),
('', '')
)
self.assertEqual(
Utils.parseaddr('a@b.c@c'),
('', '')
)
self.assertEqual(
Utils.parseaddr('a@172.17.0.1@c'),
('', '')
)
示例5: test_escape_dump
# 需要导入模块: from email import Utils [as 别名]
# 或者: from email.Utils import parseaddr [as 别名]
def test_escape_dump(self):
self.assertEqual(
Utils.formataddr(('A (Very) Silly Person', 'person@dom.ain')),
r'"A \(Very\) Silly Person" <person@dom.ain>')
a = r'A \(Special\) Person'
b = 'person@dom.ain'
self.assertEqual(Utils.parseaddr(Utils.formataddr((a, b))), (a, b))
示例6: test_escape_backslashes
# 需要导入模块: from email import Utils [as 别名]
# 或者: from email.Utils import parseaddr [as 别名]
def test_escape_backslashes(self):
self.assertEqual(
Utils.formataddr(('Arthur \Backslash\ Foobar', 'person@dom.ain')),
r'"Arthur \\Backslash\\ Foobar" <person@dom.ain>')
a = r'Arthur \Backslash\ Foobar'
b = 'person@dom.ain'
self.assertEqual(Utils.parseaddr(Utils.formataddr((a, b))), (a, b))
示例7: test_name_with_dot
# 需要导入模块: from email import Utils [as 别名]
# 或者: from email.Utils import parseaddr [as 别名]
def test_name_with_dot(self):
x = 'John X. Doe <jxd@example.com>'
y = '"John X. Doe" <jxd@example.com>'
a, b = ('John X. Doe', 'jxd@example.com')
self.assertEqual(Utils.parseaddr(x), (a, b))
self.assertEqual(Utils.parseaddr(y), (a, b))
# formataddr() quotes the name if there's a dot in it
self.assertEqual(Utils.formataddr((a, b)), y)
示例8: test_multiline_from_comment
# 需要导入模块: from email import Utils [as 别名]
# 或者: from email.Utils import parseaddr [as 别名]
def test_multiline_from_comment(self):
x = """\
Foo
\tBar <foo@example.com>"""
self.assertEqual(Utils.parseaddr(x), ('Foo Bar', 'foo@example.com'))
示例9: multi_addrs
# 需要导入模块: from email import Utils [as 别名]
# 或者: from email.Utils import parseaddr [as 别名]
def multi_addrs(self, header):
"""return a list of 2-uple (name, address) for the given address (which
is exepected to be an header containing address such as from, to, cc...)
"""
persons = []
for person in self.get_all(header, ()):
name, mail = parseaddr(person)
persons.append((name, mail))
return persons