django module, module_utils: adjustments (#10684)

* django module, module_utils: adjustments

* fix name

* more fixes

* more fixes

* further simplification

* add changelog frag
This commit is contained in:
Alexei Znamensky 2025-08-28 07:53:20 +12:00 committed by GitHub
commit ded43714d3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 32 additions and 20 deletions

View file

@ -0,0 +1,4 @@
minor_changes:
- django module utils - simplify/consolidate the common settings for the command line (https://github.com/ansible-collections/community.general/pull/10684).
- django_check - simplify/consolidate the common settings for the command line (https://github.com/ansible-collections/community.general/pull/10684).
- django_createcachetable - simplify/consolidate the common settings for the command line (https://github.com/ansible-collections/community.general/pull/10684).

View file

@ -8,7 +8,7 @@ __metaclass__ = type
from ansible.module_utils.common.dict_transformations import dict_merge
from ansible_collections.community.general.plugins.module_utils.cmd_runner import cmd_runner_fmt
from ansible_collections.community.general.plugins.module_utils import cmd_runner_fmt
from ansible_collections.community.general.plugins.module_utils.python_runner import PythonRunner
from ansible_collections.community.general.plugins.module_utils.module_helper import ModuleHelper
@ -25,26 +25,36 @@ django_std_args = dict(
)
_django_std_arg_fmts = dict(
apps=cmd_runner_fmt.as_list(),
check=cmd_runner_fmt.as_bool("--check"),
command=cmd_runner_fmt.as_list(),
settings=cmd_runner_fmt.as_opt_eq_val("--settings"),
database_dash=cmd_runner_fmt.as_opt_eq_val("--database"),
database_stacked_dash=cmd_runner_fmt.stack(cmd_runner_fmt.as_opt_val)("--database"),
deploy=cmd_runner_fmt.as_bool("--deploy"),
dry_run=cmd_runner_fmt.as_bool("--dry-run"),
fail_level=cmd_runner_fmt.as_opt_val("--fail-level"),
no_color=cmd_runner_fmt.as_fixed("--no-color"),
noinput=cmd_runner_fmt.as_fixed("--noinput"),
pythonpath=cmd_runner_fmt.as_opt_eq_val("--pythonpath"),
settings=cmd_runner_fmt.as_opt_eq_val("--settings"),
skip_checks=cmd_runner_fmt.as_bool("--skip-checks"),
tags=cmd_runner_fmt.stack(cmd_runner_fmt.as_opt_val)("--tag"),
traceback=cmd_runner_fmt.as_bool("--traceback"),
verbosity=cmd_runner_fmt.as_opt_val("--verbosity"),
no_color=cmd_runner_fmt.as_fixed("--no-color"),
skip_checks=cmd_runner_fmt.as_bool("--skip-checks"),
version=cmd_runner_fmt.as_fixed("--version"),
)
_django_database_args = dict(
_database_dash = dict(
database=dict(type="str", default="default"),
)
_args_menu = dict(
std=(django_std_args, _django_std_arg_fmts),
database=(_django_database_args, {"database": cmd_runner_fmt.as_opt_eq_val("--database")}),
noinput=({}, {"noinput": cmd_runner_fmt.as_fixed("--noinput")}),
dry_run=({}, {"dry_run": cmd_runner_fmt.as_bool("--dry-run")}),
check=({}, {"check": cmd_runner_fmt.as_bool("--check")}),
database=(_database_dash, {"database": _django_std_arg_fmts["database_dash"]}), # deprecate, remove in 13.0.0
noinput=({}, {"noinput": cmd_runner_fmt.as_fixed("--noinput")}), # deprecate, remove in 13.0.0
dry_run=({}, {"dry_run": cmd_runner_fmt.as_bool("--dry-run")}), # deprecate, remove in 13.0.0
check=({}, {"check": cmd_runner_fmt.as_bool("--check")}), # deprecate, remove in 13.0.0
database_dash=(_database_dash, {}),
)

View file

@ -88,7 +88,6 @@ version:
"""
from ansible_collections.community.general.plugins.module_utils.django import DjangoModuleHelper
from ansible_collections.community.general.plugins.module_utils.cmd_runner import cmd_runner_fmt
class DjangoCheck(DjangoModuleHelper):
@ -102,15 +101,11 @@ class DjangoCheck(DjangoModuleHelper):
),
supports_check_mode=True,
)
arg_formats = dict(
databases=cmd_runner_fmt.stack(cmd_runner_fmt.as_opt_val)("--database"),
deploy=cmd_runner_fmt.as_bool("--deploy"),
fail_level=cmd_runner_fmt.as_opt_val("--fail-level"),
tags=cmd_runner_fmt.stack(cmd_runner_fmt.as_opt_val)("--tag"),
apps=cmd_runner_fmt.as_list(),
)
django_admin_cmd = "check"
django_admin_arg_order = "databases deploy fail_level tags apps"
django_admin_arg_order = "database_stacked_dash deploy fail_level tags apps"
def __init_module__(self):
self.vars.set("database_stacked_dash", self.vars.databases, output=False)
def main():

View file

@ -60,10 +60,13 @@ class DjangoCreateCacheTable(DjangoModuleHelper):
supports_check_mode=True,
)
django_admin_cmd = "createcachetable"
django_admin_arg_order = "noinput database dry_run"
_django_args = ["noinput", "database", "dry_run"]
django_admin_arg_order = "noinput database_dash dry_run"
_django_args = ["database_dash"]
_check_mode_arg = "dry_run"
def __init_module__(self):
self.vars.set("database_dash", self.vars.database, output=False)
def main():
DjangoCreateCacheTable.execute()