summaryrefslogtreecommitdiff
path: root/lib/ansible/module_utils/shell.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ansible/module_utils/shell.py')
-rw-r--r--lib/ansible/module_utils/shell.py10
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/ansible/module_utils/shell.py b/lib/ansible/module_utils/shell.py
index 0dbc0c64af..0404fd1348 100644
--- a/lib/ansible/module_utils/shell.py
+++ b/lib/ansible/module_utils/shell.py
@@ -31,7 +31,7 @@ except ImportError:
from ansible.module_utils.basic import get_exception
from ansible.module_utils.network import NetworkError
-from ansible.module_utils.six.moves import StringIO
+from ansible.module_utils.six import BytesIO
from ansible.module_utils._text import to_native
ANSI_RE = [
@@ -132,23 +132,23 @@ class Shell(object):
raise ShellError('timeout trying to send command: %s' % self._history[-1])
def receive(self, cmd=None):
- recv = StringIO()
+ recv = BytesIO()
handled = False
while True:
data = self.shell.recv(200)
recv.write(data)
- recv.seek(recv.tell() - 200)
+ recv.seek(recv.tell() - len(data))
- window = self.strip(recv.read())
+ window = self.strip(recv.read().decode('utf8'))
if hasattr(cmd, 'prompt') and not handled:
handled = self.handle_prompt(window, cmd)
try:
if self.find_prompt(window):
- resp = self.strip(recv.getvalue())
+ resp = self.strip(recv.getvalue().decode('utf8'))
return self.sanitize(cmd, resp)
except ShellError:
exc = get_exception()