name-addr = [display-name] angle-addr
(value)
| 1795 | |
| 1796 | |
| 1797 | def get_name_addr(value): |
| 1798 | """ name-addr = [display-name] angle-addr |
| 1799 | |
| 1800 | """ |
| 1801 | name_addr = NameAddr() |
| 1802 | # Both the optional display name and the angle-addr can start with cfws. |
| 1803 | leader = None |
| 1804 | if not value: |
| 1805 | raise errors.HeaderParseError( |
| 1806 | "expected name-addr but found '{}'".format(value)) |
| 1807 | if value[0] in CFWS_LEADER: |
| 1808 | leader, value = get_cfws(value) |
| 1809 | if not value: |
| 1810 | raise errors.HeaderParseError( |
| 1811 | "expected name-addr but found '{}'".format(leader)) |
| 1812 | if value[0] != '<': |
| 1813 | if value[0] in PHRASE_ENDS: |
| 1814 | raise errors.HeaderParseError( |
| 1815 | "expected name-addr but found '{}'".format(value)) |
| 1816 | token, value = get_display_name(value) |
| 1817 | if not value: |
| 1818 | raise errors.HeaderParseError( |
| 1819 | "expected name-addr but found '{}'".format(token)) |
| 1820 | if leader is not None: |
| 1821 | if isinstance(token[0], TokenList): |
| 1822 | token[0][:0] = [leader] |
| 1823 | else: |
| 1824 | token[:0] = [leader] |
| 1825 | leader = None |
| 1826 | name_addr.append(token) |
| 1827 | token, value = get_angle_addr(value) |
| 1828 | if leader is not None: |
| 1829 | token[:0] = [leader] |
| 1830 | name_addr.append(token) |
| 1831 | return name_addr, value |
| 1832 | |
| 1833 | def get_mailbox(value): |
| 1834 | """ mailbox = name-addr / addr-spec |
no test coverage detected
searching dependent graphs…