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

Method _parse_hextet

Lib/ipaddress.py:1762–1785  ·  view source on GitHub ↗

Convert an IPv6 hextet string into an integer. Args: hextet_str: A string, the number to parse. Returns: The hextet as an integer. Raises: ValueError: if the input isn't strictly a hex number from [0..FFFF].

(cls, hextet_str)

Source from the content-addressed store, hash-verified

1760
1761 @classmethod
1762 def _parse_hextet(cls, hextet_str):
1763 """Convert an IPv6 hextet string into an integer.
1764
1765 Args:
1766 hextet_str: A string, the number to parse.
1767
1768 Returns:
1769 The hextet as an integer.
1770
1771 Raises:
1772 ValueError: if the input isn't strictly a hex number from
1773 [0..FFFF].
1774
1775 """
1776 # Reject non-ASCII digits.
1777 if not cls._HEX_DIGITS.issuperset(hextet_str):
1778 raise ValueError("Only hex digits permitted in %r" % hextet_str)
1779 # We do the length check second, since the invalid character error
1780 # is likely to be more informative for the user
1781 if len(hextet_str) > 4:
1782 msg = "At most 4 characters permitted in %r"
1783 raise ValueError(msg % hextet_str)
1784 # Length check means we can skip checking the integer value
1785 return int(hextet_str, 16)
1786
1787 @classmethod
1788 def _compress_hextets(cls, hextets):

Callers 1

_ip_int_from_stringMethod · 0.80

Calls 1

issupersetMethod · 0.80

Tested by

no test coverage detected