Skip to content

Instantly share code, notes, and snippets.

@leth
Created August 8, 2014 15:40
Show Gist options
  • Save leth/842a373fcf1ec8a4ca9b to your computer and use it in GitHub Desktop.
Save leth/842a373fcf1ec8a4ca9b to your computer and use it in GitHub Desktop.
ansible jinja2 escaping speedup
diff --git c/lib/ansible/utils/__init__.py i/lib/ansible/utils/__init__.py
index 5da39ac..696f1a7 100644
--- c/lib/ansible/utils/__init__.py
+++ i/lib/ansible/utils/__init__.py
@@ -33,7 +33,7 @@ from ansible.module_utils.splitter import split_args, unquote
import ansible.constants as C
import ast
import time
-import StringIO
+import cStringIO
import stat
import termios
import tty
@@ -355,7 +355,7 @@ def _clean_data(orig_data, from_remote=False, from_inventory=False):
if not isinstance(orig_data, basestring):
return orig_data
- data = StringIO.StringIO("")
+ data = cStringIO.StringIO()
# when the data is marked as having come from a remote, we always
# replace any print blocks (ie. {{var}}), however when marked as coming
@@ -1039,7 +1039,7 @@ def filter_leading_non_json_lines(buf):
'''
kv_regex = re.compile(r'\w=\w')
- filtered_lines = StringIO.StringIO()
+ filtered_lines = cStringIO.StringIO()
stop_filtering = False
for line in buf.splitlines():
if stop_filtering or line.startswith('{') or line.startswith('[') or kv_regex.search(line):
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment