MCPcopy Index your code
hub / github.com/python/cpython / get_angle_addr

Function get_angle_addr

Lib/email/_header_value_parser.py:1736–1780  ·  view source on GitHub ↗

angle-addr = [CFWS] "<" addr-spec ">" [CFWS] / obs-angle-addr obs-angle-addr = [CFWS] "<" obs-route addr-spec ">" [CFWS]

(value)

Source from the content-addressed store, hash-verified

1734 return obs_route, value[1:]
1735
1736def get_angle_addr(value):
1737 """ angle-addr = [CFWS] "<" addr-spec ">" [CFWS] / obs-angle-addr
1738 obs-angle-addr = [CFWS] "<" obs-route addr-spec ">" [CFWS]
1739
1740 """
1741 angle_addr = AngleAddr()
1742 if value and value[0] in CFWS_LEADER:
1743 token, value = get_cfws(value)
1744 angle_addr.append(token)
1745 if not value or value[0] != '<':
1746 raise errors.HeaderParseError(
1747 "expected angle-addr but found '{}'".format(value))
1748 angle_addr.append(ValueTerminal('<', 'angle-addr-start'))
1749 value = value[1:]
1750 # Although it is not legal per RFC5322, SMTP uses '<>' in certain
1751 # circumstances.
1752 if value and value[0] == '>':
1753 angle_addr.append(ValueTerminal('>', 'angle-addr-end'))
1754 angle_addr.defects.append(errors.InvalidHeaderDefect(
1755 "null addr-spec in angle-addr"))
1756 value = value[1:]
1757 return angle_addr, value
1758 try:
1759 token, value = get_addr_spec(value)
1760 except errors.HeaderParseError:
1761 try:
1762 token, value = get_obs_route(value)
1763 angle_addr.defects.append(errors.ObsoleteHeaderDefect(
1764 "obsolete route specification in angle-addr"))
1765 except errors.HeaderParseError:
1766 raise errors.HeaderParseError(
1767 "expected addr-spec or obs-route but found '{}'".format(value))
1768 angle_addr.append(token)
1769 token, value = get_addr_spec(value)
1770 angle_addr.append(token)
1771 if value and value[0] == '>':
1772 value = value[1:]
1773 else:
1774 angle_addr.defects.append(errors.InvalidHeaderDefect(
1775 "missing trailing '>' on angle-addr"))
1776 angle_addr.append(ValueTerminal('>', 'angle-addr-end'))
1777 if value and value[0] in CFWS_LEADER:
1778 token, value = get_cfws(value)
1779 angle_addr.append(token)
1780 return angle_addr, value
1781
1782def get_display_name(value):
1783 """ display-name = phrase

Callers 2

_getaddrMethod · 0.90
get_name_addrFunction · 0.85

Calls 7

AngleAddrClass · 0.85
get_cfwsFunction · 0.85
ValueTerminalClass · 0.85
get_addr_specFunction · 0.85
get_obs_routeFunction · 0.85
appendMethod · 0.45
formatMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…