mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-04 04:12:48 +00:00
Use .encode() instead of str() to support unicode arguments.
str() throws an UnicodeEncodeError for code points that cannot be
represented in 7-bit ASCII. This makes it impossible to use any
non-ASCII characters in module arguments. Using encode('utf-8')
gives the desired result.
This commit is contained in:
@@ -729,7 +729,7 @@ class Runner(object):
|
||||
complex_args_json = utils.jsonify(complex_args)
|
||||
# We force conversion of module_args to str because module_common calls shlex.split,
|
||||
# a standard library function that incorrectly handles Unicode input before Python 2.7.3.
|
||||
encoded_args = repr(str(module_args))
|
||||
encoded_args = repr(module_args.encode('utf-8'))
|
||||
encoded_lang = repr(C.DEFAULT_MODULE_LANG)
|
||||
encoded_complex = repr(complex_args_json)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user