[stable-10] Avoid six in plugin code (#10873) (#10877)
Some checks failed
EOL CI / EOL Sanity (Ⓐ2.15) (push) Has been cancelled
EOL CI / EOL Units (Ⓐ2.15+py2.7) (push) Has been cancelled
EOL CI / EOL Units (Ⓐ2.15+py3.10) (push) Has been cancelled
EOL CI / EOL Units (Ⓐ2.15+py3.5) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/1/) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/2/) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+alpine3+py:azp/posix/3/) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/1/) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/2/) (push) Has been cancelled
EOL CI / EOL I (Ⓐ2.15+fedora37+py:azp/posix/3/) (push) Has been cancelled
nox / Run extra sanity tests (push) Has been cancelled

Avoid six in plugin code (#10873)

Avoid six in plugin code.

(cherry picked from commit 6cd4665412)
This commit is contained in:
Felix Fontein 2025-10-05 07:42:27 +02:00 committed by GitHub
commit 171a028ef8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
37 changed files with 80 additions and 130 deletions

View file

@ -9,7 +9,6 @@ __metaclass__ = type
import re
from ansible.errors import AnsibleFilterError
from ansible.module_utils.six import string_types
from collections.abc import Mapping, Sequence
@ -32,7 +31,7 @@ def _keys_filter_params(data, matching_parameter):
raise AnsibleFilterError(msg % (elem, type(elem)))
for elem in data:
if not all(isinstance(item, string_types) for item in elem.keys()):
if not all(isinstance(item, str) for item in elem.keys()):
msg = "Top level keys must be strings. keys: %s"
raise AnsibleFilterError(msg % elem.keys())
@ -65,12 +64,12 @@ def _keys_filter_target_str(target, matching_parameter):
if isinstance(target, list):
for elem in target:
if not isinstance(elem, string_types):
if not isinstance(elem, str):
msg = "The target items must be strings. %s is %s"
raise AnsibleFilterError(msg % (elem, type(elem)))
if matching_parameter == 'regex':
if isinstance(target, string_types):
if isinstance(target, str):
r = target
else:
if len(target) > 1:
@ -83,7 +82,7 @@ def _keys_filter_target_str(target, matching_parameter):
except re.error:
msg = "The target must be a valid regex if matching_parameter=regex. target is %s"
raise AnsibleFilterError(msg % r)
elif isinstance(target, string_types):
elif isinstance(target, str):
tt = (target, )
else:
tt = tuple(set(target))
@ -117,10 +116,10 @@ def _keys_filter_target_dict(target, matching_parameter):
if not all(k in elem for k in ('before', 'after')):
msg = "All dictionaries in target must include attributes: after, before."
raise AnsibleFilterError(msg)
if not isinstance(elem['before'], string_types):
if not isinstance(elem['before'], str):
msg = "The attributes before must be strings. %s is %s"
raise AnsibleFilterError(msg % (elem['before'], type(elem['before'])))
if not isinstance(elem['after'], string_types):
if not isinstance(elem['after'], str):
msg = "The attributes after must be strings. %s is %s"
raise AnsibleFilterError(msg % (elem['after'], type(elem['after'])))

View file

@ -7,7 +7,6 @@ __metaclass__ = type
import re
from ansible.module_utils.six import binary_type, text_type
from collections.abc import Mapping, Set
from ansible.module_utils.common.collections import is_sequence
from ansible.utils.unsafe_proxy import (
@ -29,11 +28,11 @@ def make_unsafe(value):
return set(make_unsafe(elt) for elt in value)
elif is_sequence(value):
return type(value)(make_unsafe(elt) for elt in value)
elif isinstance(value, binary_type):
elif isinstance(value, bytes):
if _RE_TEMPLATE_CHARS_BYTES.search(value):
value = _make_unsafe(value)
return value
elif isinstance(value, text_type):
elif isinstance(value, str):
if _RE_TEMPLATE_CHARS.search(value):
value = _make_unsafe(value)
return value