mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-04-25 11:51:26 -07:00
Fixes #4958 Truncate printed stdout if it contains non-printable characters
This commit is contained in:
parent
78ec7c736f
commit
d7c8cf6ca7
2 changed files with 14 additions and 0 deletions
|
@ -38,6 +38,7 @@ import ansible.inventory
|
||||||
from ansible import utils
|
from ansible import utils
|
||||||
from ansible.utils import template
|
from ansible.utils import template
|
||||||
from ansible.utils import check_conditional
|
from ansible.utils import check_conditional
|
||||||
|
from ansible.utils import string_functions
|
||||||
from ansible import errors
|
from ansible import errors
|
||||||
from ansible import module_common
|
from ansible import module_common
|
||||||
import poller
|
import poller
|
||||||
|
@ -742,6 +743,12 @@ class Runner(object):
|
||||||
self.callbacks.on_unreachable(host, result.result)
|
self.callbacks.on_unreachable(host, result.result)
|
||||||
else:
|
else:
|
||||||
data = result.result
|
data = result.result
|
||||||
|
|
||||||
|
# https://github.com/ansible/ansible/issues/4958
|
||||||
|
if "stdout" in data and sys.stdout.isatty():
|
||||||
|
if not string_functions.isprintable(data['stdout']):
|
||||||
|
data['stdout'] = ''
|
||||||
|
|
||||||
if 'item' in inject:
|
if 'item' in inject:
|
||||||
result.result['item'] = inject['item']
|
result.result['item'] = inject['item']
|
||||||
|
|
||||||
|
|
7
lib/ansible/utils/string_functions.py
Normal file
7
lib/ansible/utils/string_functions.py
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
def isprintable(instring):
|
||||||
|
#http://stackoverflow.com/a/3637294
|
||||||
|
import string
|
||||||
|
printset = set(string.printable)
|
||||||
|
isprintable = set(instring).issubset(printset)
|
||||||
|
return isprintable
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue