diff options
Diffstat (limited to 'test/lib/ansible_test/_internal/compat')
-rw-r--r-- | test/lib/ansible_test/_internal/compat/__init__.py | 2 | ||||
-rw-r--r-- | test/lib/ansible_test/_internal/compat/packaging.py | 18 | ||||
-rw-r--r-- | test/lib/ansible_test/_internal/compat/yaml.py | 22 |
3 files changed, 42 insertions, 0 deletions
diff --git a/test/lib/ansible_test/_internal/compat/__init__.py b/test/lib/ansible_test/_internal/compat/__init__.py new file mode 100644 index 0000000..e9cb681 --- /dev/null +++ b/test/lib/ansible_test/_internal/compat/__init__.py @@ -0,0 +1,2 @@ +"""Nearly empty __init__.py to keep pylint happy.""" +from __future__ import annotations diff --git a/test/lib/ansible_test/_internal/compat/packaging.py b/test/lib/ansible_test/_internal/compat/packaging.py new file mode 100644 index 0000000..92e7736 --- /dev/null +++ b/test/lib/ansible_test/_internal/compat/packaging.py @@ -0,0 +1,18 @@ +"""Packaging compatibility.""" +from __future__ import annotations + +import typing as t + +try: + from packaging import ( + specifiers, + version, + ) + + SpecifierSet: t.Optional[t.Type[specifiers.SpecifierSet]] = specifiers.SpecifierSet + Version: t.Optional[t.Type[version.Version]] = version.Version + PACKAGING_IMPORT_ERROR = None +except ImportError as ex: + SpecifierSet = None # pylint: disable=invalid-name + Version = None # pylint: disable=invalid-name + PACKAGING_IMPORT_ERROR = ex diff --git a/test/lib/ansible_test/_internal/compat/yaml.py b/test/lib/ansible_test/_internal/compat/yaml.py new file mode 100644 index 0000000..4b47136 --- /dev/null +++ b/test/lib/ansible_test/_internal/compat/yaml.py @@ -0,0 +1,22 @@ +"""PyYAML compatibility.""" +from __future__ import annotations + +import typing as t + +from functools import ( + partial, +) + +try: + import yaml as _yaml + YAML_IMPORT_ERROR = None +except ImportError as ex: + yaml_load = None # pylint: disable=invalid-name + YAML_IMPORT_ERROR = ex +else: + try: + _SafeLoader: t.Union[t.Type[_yaml.CSafeLoader], t.Type[_yaml.SafeLoader]] = _yaml.CSafeLoader + except AttributeError: + _SafeLoader = _yaml.SafeLoader + + yaml_load = partial(_yaml.load, Loader=_SafeLoader) |