diff options
Diffstat (limited to 'lib/ansible/module_utils/common/_collections_compat.py')
-rw-r--r-- | lib/ansible/module_utils/common/_collections_compat.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/lib/ansible/module_utils/common/_collections_compat.py b/lib/ansible/module_utils/common/_collections_compat.py new file mode 100644 index 0000000..3412408 --- /dev/null +++ b/lib/ansible/module_utils/common/_collections_compat.py @@ -0,0 +1,46 @@ +# Copyright (c), Sviatoslav Sydorenko <ssydoren@redhat.com> 2018 +# Simplified BSD License (see licenses/simplified_bsd.txt or https://opensource.org/licenses/BSD-2-Clause) +"""Collections ABC import shim. + +This module is intended only for internal use. +It will go away once the bundled copy of six includes equivalent functionality. +Third parties should not use this. +""" + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + +try: + """Python 3.3+ branch.""" + from collections.abc import ( + MappingView, + ItemsView, + KeysView, + ValuesView, + Mapping, MutableMapping, + Sequence, MutableSequence, + Set, MutableSet, + Container, + Hashable, + Sized, + Callable, + Iterable, + Iterator, + ) +except ImportError: + """Use old lib location under 2.6-3.2.""" + from collections import ( # type: ignore[no-redef,attr-defined] # pylint: disable=deprecated-class + MappingView, + ItemsView, + KeysView, + ValuesView, + Mapping, MutableMapping, + Sequence, MutableSequence, + Set, MutableSet, + Container, + Hashable, + Sized, + Callable, + Iterable, + Iterator, + ) |