diff --git a/lib/ansible/module_utils/facts.py b/lib/ansible/module_utils/facts.py index aec54a7c785..0757a662183 100644 --- a/lib/ansible/module_utils/facts.py +++ b/lib/ansible/module_utils/facts.py @@ -34,7 +34,12 @@ import datetime import getpass import pwd import ConfigParser -import StringIO + +# py2 vs py3; replace with six via ziploader +try: + from StringIO import StringIO +except ImportError: + from io import StringIO from string import maketrans diff --git a/lib/ansible/module_utils/shell.py b/lib/ansible/module_utils/shell.py index 0107911ba02..e1be749cf1e 100644 --- a/lib/ansible/module_utils/shell.py +++ b/lib/ansible/module_utils/shell.py @@ -19,7 +19,11 @@ import re import socket -from StringIO import StringIO +# py2 vs py3; replace with six via ziploader +try: + from StringIO import StringIO +except ImportError: + from io import StringIO try: import paramiko diff --git a/lib/ansible/plugins/lookup/ini.py b/lib/ansible/plugins/lookup/ini.py index 3adbd2c7d67..0e68816dc32 100644 --- a/lib/ansible/plugins/lookup/ini.py +++ b/lib/ansible/plugins/lookup/ini.py @@ -17,7 +17,7 @@ from __future__ import (absolute_import, division, print_function) __metaclass__ = type -import StringIO +from io import StringIO import os import ConfigParser import re @@ -28,8 +28,8 @@ from ansible.plugins.lookup import LookupBase class LookupModule(LookupBase): def read_properties(self, filename, key, dflt, is_regexp): - config = StringIO.StringIO() - config.write('[java_properties]\n' + open(filename).read()) + config = StringIO() + config.write(u'[java_properties]\n' + open(filename).read()) config.seek(0, os.SEEK_SET) self.cp.readfp(config) return self.get_value(key, 'java_properties', dflt, is_regexp) diff --git a/lib/ansible/template/__init__.py b/lib/ansible/template/__init__.py index 991641fa24a..76c69762402 100644 --- a/lib/ansible/template/__init__.py +++ b/lib/ansible/template/__init__.py @@ -23,8 +23,9 @@ import ast import contextlib import os import re +from io import StringIO -from ansible.compat.six import string_types, text_type, binary_type, StringIO +from ansible.compat.six import string_types, text_type, binary_type from jinja2 import Environment from jinja2.loaders import FileSystemLoader from jinja2.exceptions import TemplateSyntaxError, UndefinedError