mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-07-25 14:20:22 -07:00
Move uses of to_bytes, to_text, to_native to use the module_utils version (#17423)
We couldn't copy to_unicode, to_bytes, to_str into module_utils because of licensing. So once created it we had two sets of functions that did the same things but had different implementations. To remedy that, this change removes the ansible.utils.unicode versions of those functions.
This commit is contained in:
parent
7a9395b5e0
commit
4ed88512e4
89 changed files with 759 additions and 894 deletions
|
@ -28,7 +28,7 @@ from ansible.compat.six import iteritems, string_types
|
|||
from ansible import constants as C
|
||||
from ansible.errors import AnsibleError
|
||||
from ansible.parsing.splitter import parse_kv
|
||||
from ansible.utils.unicode import to_unicode, to_str
|
||||
from ansible.module_utils._text import to_native, to_text
|
||||
|
||||
|
||||
def _validate_mutable_mappings(a, b):
|
||||
|
@ -49,11 +49,12 @@ def _validate_mutable_mappings(a, b):
|
|||
try:
|
||||
myvars.append(dumps(x))
|
||||
except:
|
||||
myvars.append(to_str(x))
|
||||
myvars.append(to_native(x))
|
||||
raise AnsibleError("failed to combine variables, expected dicts but got a '{0}' and a '{1}': \n{2}\n{3}".format(
|
||||
a.__class__.__name__, b.__class__.__name__, myvars[0], myvars[1])
|
||||
)
|
||||
|
||||
|
||||
def combine_vars(a, b):
|
||||
"""
|
||||
Return a copy of dictionaries of variables based on configured hash behavior
|
||||
|
@ -68,6 +69,7 @@ def combine_vars(a, b):
|
|||
result.update(b)
|
||||
return result
|
||||
|
||||
|
||||
def merge_hash(a, b):
|
||||
"""
|
||||
Recursively merges hash b into a so that keys from b take precedence over keys from a
|
||||
|
@ -95,10 +97,11 @@ def merge_hash(a, b):
|
|||
|
||||
return result
|
||||
|
||||
|
||||
def load_extra_vars(loader, options):
|
||||
extra_vars = {}
|
||||
for extra_vars_opt in options.extra_vars:
|
||||
extra_vars_opt = to_unicode(extra_vars_opt, errors='strict')
|
||||
extra_vars_opt = to_text(extra_vars_opt, errors='surrogate_or_strict')
|
||||
if extra_vars_opt.startswith(u"@"):
|
||||
# Argument is a YAML file (JSON is a subset of YAML)
|
||||
data = loader.load_from_file(extra_vars_opt[1:])
|
||||
|
@ -111,6 +114,7 @@ def load_extra_vars(loader, options):
|
|||
extra_vars = combine_vars(extra_vars, data)
|
||||
return extra_vars
|
||||
|
||||
|
||||
def load_options_vars(options):
|
||||
options_vars = {}
|
||||
# For now only return check mode, but we can easily return more
|
||||
|
@ -118,6 +122,7 @@ def load_options_vars(options):
|
|||
options_vars['ansible_check_mode'] = options.check
|
||||
return options_vars
|
||||
|
||||
|
||||
def isidentifier(ident):
|
||||
"""
|
||||
Determines, if string is valid Python identifier using the ast module.
|
||||
|
@ -148,4 +153,3 @@ def isidentifier(ident):
|
|||
return False
|
||||
|
||||
return True
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue