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

django_manage - using list instead of string in run_command() (#3098) (#3102)

* django_manage - using list instead of string in run_command()

* added changelog fragment

(cherry picked from commit 0b70b3baff)

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
This commit is contained in:
patchback[bot] 2021-07-28 08:35:08 +02:00 committed by GitHub
parent 6f0be41e1e
commit c31424a924
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 21 deletions

View file

@ -0,0 +1,2 @@
bugfixes:
- django_manage - refactor to call ``run_command()`` passing command as a list instead of string (https://github.com/ansible-collections/community.general/pull/3098).

View file

@ -256,20 +256,20 @@ def main():
argument_spec=dict(
command=dict(required=True, type='str'),
project_path=dict(required=True, type='path', aliases=['app_path', 'chdir']),
settings=dict(default=None, required=False, type='path'),
pythonpath=dict(default=None, required=False, type='path', aliases=['python_path']),
virtualenv=dict(default=None, required=False, type='path', aliases=['virtual_env']),
settings=dict(type='path'),
pythonpath=dict(type='path', aliases=['python_path']),
virtualenv=dict(type='path', aliases=['virtual_env']),
apps=dict(default=None, required=False),
cache_table=dict(default=None, required=False, type='str'),
clear=dict(default=False, required=False, type='bool'),
database=dict(default=None, required=False, type='str'),
failfast=dict(default=False, required=False, type='bool', aliases=['fail_fast']),
fixtures=dict(default=None, required=False, type='str'),
testrunner=dict(default=None, required=False, type='str', aliases=['test_runner']),
skip=dict(default=None, required=False, type='bool'),
merge=dict(default=None, required=False, type='bool'),
link=dict(default=None, required=False, type='bool'),
apps=dict(),
cache_table=dict(type='str'),
clear=dict(default=False, type='bool'),
database=dict(type='str'),
failfast=dict(default=False, type='bool', aliases=['fail_fast']),
fixtures=dict(type='str'),
testrunner=dict(type='str', aliases=['test_runner']),
skip=dict(type='bool'),
merge=dict(type='bool'),
link=dict(type='bool'),
),
)
@ -279,8 +279,6 @@ def main():
for param in specific_params:
value = module.params[param]
if param in specific_boolean_params:
value = module.boolean(value)
if value and param not in command_allowed_param_map[command]:
module.fail_json(msg='%s param is incompatible with command=%s' % (param, command))
@ -290,23 +288,23 @@ def main():
_ensure_virtualenv(module)
cmd = "./manage.py %s" % (command, )
cmd = ["./manage.py", command]
if command in noinput_commands:
cmd = '%s --noinput' % cmd
cmd.append("--noinput")
for param in general_params:
if module.params[param]:
cmd = '%s --%s=%s' % (cmd, param, module.params[param])
cmd.append('--%s=%s' % (param, module.params[param]))
for param in specific_boolean_params:
if module.boolean(module.params[param]):
cmd = '%s --%s' % (cmd, param)
if module.params[param]:
cmd.append('--%s' % param)
# these params always get tacked on the end of the command
for param in end_of_command_params:
if module.params[param]:
cmd = '%s %s' % (cmd, module.params[param])
cmd.append(module.params[param])
rc, out, err = module.run_command(cmd, cwd=project_path)
if rc != 0: