From 7900319fc35fd9cd68d54eb6c9518678eb5f5714 Mon Sep 17 00:00:00 2001 From: Nathaniel Case Date: Thu, 15 Dec 2016 16:25:03 -0500 Subject: [PATCH] Assorted python3 fixes for network code. (#18777) --- lib/ansible/module_utils/shell.py | 10 +++++----- lib/ansible/plugins/action/net_config.py | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/ansible/module_utils/shell.py b/lib/ansible/module_utils/shell.py index 0dbc0c64afb..0404fd13489 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() diff --git a/lib/ansible/plugins/action/net_config.py b/lib/ansible/plugins/action/net_config.py index d36f09a65fd..47d422be12f 100644 --- a/lib/ansible/plugins/action/net_config.py +++ b/lib/ansible/plugins/action/net_config.py @@ -23,10 +23,10 @@ import os import re import time import glob -import urlparse from ansible.plugins.action import ActionBase from ansible.module_utils._text import to_text +from ansible.module_utils.six.moves.urllib.parse import urlsplit PRIVATE_KEYS_RE = re.compile('__.+__') @@ -87,7 +87,7 @@ class ActionModule(ActionBase): src = self._task.args.get('src') working_path = self._get_working_path() - if os.path.isabs(src) or urlparse.urlsplit('src').scheme: + if os.path.isabs(src) or urlsplit('src').scheme: source = src else: source = self._loader.path_dwim_relative(working_path, 'templates', src)