1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

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.
This commit is contained in:
Toshio Kuratomi 2017-09-28 09:02:26 -07:00
parent 3e7b240696
commit 5f22b4f8ad

View file

@ -2606,10 +2606,10 @@ class AnsibleModule(object):
if use_unsafe_shell:
args = " ".join([shlex_quote(x) for x in args])
shell = True
elif isinstance(args, (binary_type, text_type)) and use_unsafe_shell:
shell = True
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 python3, shlex needs a text type.
if PY2: