Make run_command() work when we get byte str with non-ascii characters (instead of unicode type like we were expecting)

Fix and test.

Fixes #10536
This commit is contained in:
Toshio Kuratomi 2015-03-25 12:22:45 -07:00
parent c024057e97
commit aaa25eb75c
2 changed files with 15 additions and 1 deletions

View file

@ -1457,7 +1457,12 @@ class AnsibleModule(object):
# in reporting later, which strips out things like
# passwords from the args list
if isinstance(args, basestring):
to_clean_args = shlex.split(args.encode('utf-8'))
if isinstance(args, unicode):
b_args = args.encode('utf-8')
else:
b_args = args
to_clean_args = shlex.split(b_args)
del b_args
else:
to_clean_args = args