| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- from typing import Any, Union
- from .core import decode, encode
- def ToASCII(label: str) -> bytes:
- """Compatibility shim for :rfc:`3490` ``ToASCII``.
- Delegates to :func:`idna.encode` (IDNA 2008). Provided to ease porting
- of code written against the legacy :mod:`encodings.idna` API; new code
- should call :func:`idna.encode` directly.
- :param label: The label or domain to encode.
- :returns: The encoded form as ASCII :class:`bytes`.
- """
- return encode(label)
- def ToUnicode(label: Union[bytes, bytearray]) -> str:
- """Compatibility shim for :rfc:`3490` ``ToUnicode``.
- Delegates to :func:`idna.decode` (IDNA 2008). Provided to ease porting
- of code written against the legacy :mod:`encodings.idna` API; new code
- should call :func:`idna.decode` directly.
- :param label: The label or domain to decode.
- :returns: The decoded Unicode form.
- """
- return decode(label)
- def nameprep(s: Any) -> None:
- """Stub for :rfc:`3491` Nameprep, which is not used by IDNA 2008.
- IDNA 2008 (:rfc:`5891`) replaces Nameprep with the per-codepoint
- validity classes from :rfc:`5892`; this function exists only to
- return a clear error if legacy code attempts to call it.
- :raises NotImplementedError: Always.
- """
- raise NotImplementedError("IDNA 2008 does not utilise nameprep protocol")
|