mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-08 06:12:51 +00:00
Micro-optimization: replace s.find(x)!=-1 with x in s
timeit shows a speedup of ~3x on Python 2.7.5 x86_64. It also makes the code a bit shorter.
This commit is contained in:
committed by
Michael DeHaan
parent
a7da5d8702
commit
0749112286
@@ -193,7 +193,7 @@ def check_conditional(conditional, basedir, inject, fail_on_undefined=False):
|
||||
|
||||
conditional = conditional.replace("jinja2_compare ","")
|
||||
# allow variable names
|
||||
if conditional in inject and str(inject[conditional]).find('-') == -1:
|
||||
if conditional in inject and '-' not in str(inject[conditional]):
|
||||
conditional = inject[conditional]
|
||||
conditional = template.template(basedir, conditional, inject, fail_on_undefined=fail_on_undefined)
|
||||
original = str(conditional).replace("jinja2_compare ","")
|
||||
@@ -206,9 +206,9 @@ def check_conditional(conditional, basedir, inject, fail_on_undefined=False):
|
||||
# variable was undefined. If we happened to be
|
||||
# looking for an undefined variable, return True,
|
||||
# otherwise fail
|
||||
if conditional.find("is undefined") != -1:
|
||||
if "is undefined" in conditional:
|
||||
return True
|
||||
elif conditional.find("is defined") != -1:
|
||||
elif "is defined" in conditional:
|
||||
return False
|
||||
else:
|
||||
raise errors.AnsibleError("error while evaluating conditional: %s" % original)
|
||||
@@ -331,9 +331,9 @@ def parse_json(raw_data):
|
||||
|
||||
def smush_braces(data):
|
||||
''' smush Jinaj2 braces so unresolved templates like {{ foo }} don't get parsed weird by key=value code '''
|
||||
while data.find('{{ ') != -1:
|
||||
while '{{ ' in data:
|
||||
data = data.replace('{{ ', '{{')
|
||||
while data.find(' }}') != -1:
|
||||
while ' }}' in data:
|
||||
data = data.replace(' }}', '}}')
|
||||
return data
|
||||
|
||||
@@ -374,7 +374,7 @@ def parse_yaml(data, path_hint=None):
|
||||
def process_common_errors(msg, probline, column):
|
||||
replaced = probline.replace(" ","")
|
||||
|
||||
if replaced.find(":{{") != -1 and replaced.find("}}") != -1:
|
||||
if ":{{" in replaced and "}}" in replaced:
|
||||
msg = msg + """
|
||||
This one looks easy to fix. YAML thought it was looking for the start of a
|
||||
hash/dictionary and was confused to see a second "{". Most likely this was
|
||||
@@ -542,7 +542,7 @@ def parse_kv(args):
|
||||
vargs = [x.decode('utf-8') for x in shlex.split(args, posix=True)]
|
||||
#vargs = shlex.split(str(args), posix=True)
|
||||
for x in vargs:
|
||||
if x.find("=") != -1:
|
||||
if "=" in x:
|
||||
k, v = x.split("=",1)
|
||||
options[k]=v
|
||||
return options
|
||||
@@ -1023,7 +1023,7 @@ def listify_lookup_plugin_terms(terms, basedir, inject):
|
||||
# not sure why the "/" is in above code :)
|
||||
try:
|
||||
new_terms = template.template(basedir, "{{ %s }}" % terms, inject)
|
||||
if isinstance(new_terms, basestring) and new_terms.find("{{") != -1:
|
||||
if isinstance(new_terms, basestring) and "{{" in new_terms.find:
|
||||
pass
|
||||
else:
|
||||
terms = new_terms
|
||||
@@ -1097,3 +1097,4 @@ def before_comment(msg):
|
||||
return msg
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user