Reduce chance of mistakes with unsafe_shell check during refactor

Code like this:

if cond1 and cond2:
    pass
elif cond1:
    pass

Has a hidden dependency on the order that the conditions are checked.
This makes them fragile and subject to breakage during refactors.
Rewrite the code like this:

if cond1:
    if cond2:
        pass
    else:
        pass

The nested structure makes the ordering explicit and less likely for
someone to break the code when they refactor.
pull/30826/merge
Toshio Kuratomi 7 years ago
parent 3e7b240696
commit 5f22b4f8ad

@ -2606,10 +2606,10 @@ class AnsibleModule(object):
if use_unsafe_shell: if use_unsafe_shell:
args = " ".join([shlex_quote(x) for x in args]) args = " ".join([shlex_quote(x) for x in args])
shell = True shell = True
elif isinstance(args, (binary_type, text_type)) and use_unsafe_shell:
shell = True
elif isinstance(args, (binary_type, text_type)): elif isinstance(args, (binary_type, text_type)):
if not use_unsafe_shell: if use_unsafe_shell:
shell = True
else:
# On python2.6 and below, shlex has problems with text type # On python2.6 and below, shlex has problems with text type
# On python3, shlex needs a text type. # On python3, shlex needs a text type.
if PY2: if PY2:

Loading…
Cancel
Save