_quoting.py 506 B

12345678910111213141516171819
  1. import os
  2. import sys
  3. from typing import TYPE_CHECKING
  4. __all__ = ("_Quoter", "_Unquoter")
  5. NO_EXTENSIONS = bool(os.environ.get("YARL_NO_EXTENSIONS")) # type: bool
  6. if sys.implementation.name != "cpython":
  7. NO_EXTENSIONS = True
  8. if TYPE_CHECKING or NO_EXTENSIONS:
  9. from ._quoting_py import _Quoter, _Unquoter
  10. else:
  11. try:
  12. from ._quoting_c import _Quoter, _Unquoter
  13. except ImportError: # pragma: no cover
  14. from ._quoting_py import _Quoter, _Unquoter # type: ignore[assignment]