MCPcopy Index your code
hub / github.com/RustPython/RustPython / get_angle_addr

Function get_angle_addr

Lib/email/_header_value_parser.py:1719–1763  ·  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

1717 return obs_route, value[1:]
1718
1719def get_angle_addr(value):
1720 """ angle-addr = [CFWS] "<" addr-spec ">" [CFWS] / obs-angle-addr
1721 obs-angle-addr = [CFWS] "<" obs-route addr-spec ">" [CFWS]
1722
1723 """
1724 angle_addr = AngleAddr()
1725 if value and value[0] in CFWS_LEADER:
1726 token, value = get_cfws(value)
1727 angle_addr.append(token)
1728 if not value or value[0] != '<':
1729 raise errors.HeaderParseError(
1730 "expected angle-addr but found '{}'".format(value))
1731 angle_addr.append(ValueTerminal('<', 'angle-addr-start'))
1732 value = value[1:]
1733 # Although it is not legal per RFC5322, SMTP uses '<>' in certain
1734 # circumstances.
1735 if value and value[0] == '>':
1736 angle_addr.append(ValueTerminal('>', 'angle-addr-end'))
1737 angle_addr.defects.append(errors.InvalidHeaderDefect(
1738 "null addr-spec in angle-addr"))
1739 value = value[1:]
1740 return angle_addr, value
1741 try:
1742 token, value = get_addr_spec(value)
1743 except errors.HeaderParseError:
1744 try:
1745 token, value = get_obs_route(value)
1746 angle_addr.defects.append(errors.ObsoleteHeaderDefect(
1747 "obsolete route specification in angle-addr"))
1748 except errors.HeaderParseError:
1749 raise errors.HeaderParseError(
1750 "expected addr-spec or obs-route but found '{}'".format(value))
1751 angle_addr.append(token)
1752 token, value = get_addr_spec(value)
1753 angle_addr.append(token)
1754 if value and value[0] == '>':
1755 value = value[1:]
1756 else:
1757 angle_addr.defects.append(errors.InvalidHeaderDefect(
1758 "missing trailing '>' on angle-addr"))
1759 angle_addr.append(ValueTerminal('>', 'angle-addr-end'))
1760 if value and value[0] in CFWS_LEADER:
1761 token, value = get_cfws(value)
1762 angle_addr.append(token)
1763 return angle_addr, value
1764
1765def get_display_name(value):
1766 """ 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