From 03fdeddadb24c5f5a30c848363caa685bddd6c8c Mon Sep 17 00:00:00 2001 From: Emmanuel Garette Date: Fri, 4 Jul 2025 07:43:31 +0300 Subject: [PATCH] feat: add ansible.export_warnings option --- .../fr/LC_MESSAGES/rougail_output_ansible.po | 33 ++-- locale/rougail_output_ansible.pot | 8 +- src/rougail/output_ansible/__init__.py | 11 +- src/rougail/output_ansible/config.py | 4 + .../fr/LC_MESSAGES/rougail_output_ansible.mo | Bin 1313 -> 1519 bytes tests/test_load.py | 142 ++++++++++++++++++ 6 files changed, 176 insertions(+), 22 deletions(-) diff --git a/locale/fr/LC_MESSAGES/rougail_output_ansible.po b/locale/fr/LC_MESSAGES/rougail_output_ansible.po index d4b72d0..7784c20 100644 --- a/locale/fr/LC_MESSAGES/rougail_output_ansible.po +++ b/locale/fr/LC_MESSAGES/rougail_output_ansible.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" -"POT-Creation-Date: 2025-02-15 12:43+0100\n" -"PO-Revision-Date: 2025-02-15 12:44+0100\n" +"POT-Creation-Date: 2025-07-03 22:11+0300\n" +"PO-Revision-Date: 2025-07-03 22:11+0300\n" "Last-Translator: \n" "Language-Team: \n" "Language: fr\n" @@ -14,52 +14,53 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: pygettext.py 1.5\n" -"X-Generator: Poedit 3.5\n" +"X-Generator: Poedit 3.6\n" -#: src/rougail/output_ansible/__init__.py:57 +#: src/rougail/output_ansible/__init__.py:58 msgid "no namespace configured" msgstr "aucun espace de nom configuré" -#: src/rougail/output_ansible/__init__.py:65 +#: src/rougail/output_ansible/__init__.py:67 msgid "cannot find host namespace \"{0}\"" msgstr "ne peut trouve l'espace de nom de l'hôte \"{0}\"" -#: src/rougail/output_ansible/__init__.py:70 -#, fuzzy +#: src/rougail/output_ansible/__init__.py:74 msgid "malformated host namespace \"{0}\", should have the \"hostnames\" key" msgstr "" "l'espace de nom de l'hôte \"{0}\" est mal formaté, devrait avoir la clé " "\"hostnames\"" -#: src/rougail/output_ansible/__init__.py:97 +#: src/rougail/output_ansible/__init__.py:113 msgid "cannot find \"hostnames\" in \"{0}\" namespace" msgstr "ne peut trouve \"hostnames\" dans l'espace de nom \"{0}\"" -#: src/rougail/output_ansible/config.py:29 #: src/rougail/output_ansible/config.py:30 msgid "parameter added only to be compatible with Ansible" msgstr "paramètre ajouté seulement pour être compatible avec Ansible" -#: src/rougail/output_ansible/config.py:52 +#: src/rougail/output_ansible/config.py:53 msgid "Configuration of user data or output Ansible" msgstr "Configuration de Ansible comme donnée utilisateur ou sortie" -#: src/rougail/output_ansible/config.py:62 +#: src/rougail/output_ansible/config.py:64 msgid "Configuration of output Ansible" msgstr "Configuration de la sortie Ansible" -#: src/rougail/output_ansible/config.py:72 +#: src/rougail/output_ansible/config.py:76 msgid "Namespace with host values" msgstr "Espace de nom avec les valeurs de l'hôte" -#: src/rougail/output_ansible/config.py:76 +#: src/rougail/output_ansible/config.py:80 msgid "Only variables in host namespace is available by a host" msgstr "" "Seules les variables de l'espace de nom de l'hôte est valable pour un hôte" -#: src/rougail/output_ansible/config.py:77 -msgid "All variables is available for all hosts" -msgstr "Tous les variables sont valables pour tous les hôtes" +#: src/rougail/output_ansible/config.py:84 +msgid "Displays warnings inside Ansible exportation datas" +msgstr "Affiche les avertissements dans les données d'exportation Ansible" + +#~ msgid "All variables is available for all hosts" +#~ msgstr "Tous les variables sont valables pour tous les hôtes" #~ msgid "The following variables are mandatory but have no value:" #~ msgstr "Les variables suivantes sont obligatoire mais n'ont pas de valeur :" diff --git a/locale/rougail_output_ansible.pot b/locale/rougail_output_ansible.pot index 65b3e45..e4c4f4b 100644 --- a/locale/rougail_output_ansible.pot +++ b/locale/rougail_output_ansible.pot @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2025-05-12 08:39+0200\n" +"POT-Creation-Date: 2025-07-03 22:11+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -27,7 +27,7 @@ msgstr "" msgid "malformated host namespace \"{0}\", should have the \"hostnames\" key" msgstr "" -#: src/rougail/output_ansible/__init__.py:111 +#: src/rougail/output_ansible/__init__.py:113 msgid "cannot find \"hostnames\" in \"{0}\" namespace" msgstr "" @@ -51,3 +51,7 @@ msgstr "" msgid "Only variables in host namespace is available by a host" msgstr "" +#: src/rougail/output_ansible/config.py:84 +msgid "Displays warnings inside Ansible exportation datas" +msgstr "" + diff --git a/src/rougail/output_ansible/__init__.py b/src/rougail/output_ansible/__init__.py index 07f5b2c..8949a2b 100644 --- a/src/rougail/output_ansible/__init__.py +++ b/src/rougail/output_ansible/__init__.py @@ -45,6 +45,7 @@ class RougailOutputAnsible(RougailOutputJson): self.support_namespace = False self.host_namespace = self.rougailconfig["ansible.host_namespace"] self.namespace_is_hostname = self.rougailconfig["ansible.namespace_is_hostname"] + self.export_warnings = self.rougailconfig["ansible.export_warnings"] def exporter(self) -> None: super().exporter() @@ -92,10 +93,12 @@ class RougailOutputAnsible(RougailOutputJson): def json_to_ansible(self): ret = {"_meta": {"hostvars": {}}, "all": {"children": ["ungrouped"]}} if "_warnings" in self.dico: - ret["_meta"]["hostvars"]["localhost"] = { - "_warnings": self.dico.pop("_warnings") - } - ret["ungrouped"] = {"hosts": ["localhost"]} + _warnings = self.dico.pop("_warnings") + if self.export_warnings: + ret["_meta"]["hostvars"]["localhost"] = { + "_warnings": _warnings, + } + ret["ungrouped"] = {"hosts": ["localhost"]} if "_errors" in self.dico: ret["_meta"]["hostvars"].setdefault("localhost", {})["_errors"] = ( self.dico.pop("_errors") diff --git a/src/rougail/output_ansible/config.py b/src/rougail/output_ansible/config.py index 704d45f..44e9888 100644 --- a/src/rougail/output_ansible/config.py +++ b/src/rougail/output_ansible/config.py @@ -79,6 +79,10 @@ ansible: namespace_is_hostname: description: {_('Only variables in host namespace is available by a host')} default: false + + export_warnings: + description: {_('Displays warnings inside Ansible exportation datas')} + default: true """, ] return { diff --git a/src/rougail/output_ansible/locale/fr/LC_MESSAGES/rougail_output_ansible.mo b/src/rougail/output_ansible/locale/fr/LC_MESSAGES/rougail_output_ansible.mo index 2b91502a901a2fa46f0b0974661a3f4c6684c9ae..636633d8cde9518e085880a32123ccf4e565c550 100644 GIT binary patch delta 546 zcmYk%yGjE=6b9gvWW6PbmqPJ^9@B^#F&9)&K_Zr7Wi5>E#0+j`WoNvkvat|tl)+xh zfZzj&prp06)k1rpK=4n3;DLX?VRq-t*}LR->h!(eyCGBx8AUA8hrA+<>WvYN!#AfP1D(O957>TfOno}E~@q1a}A zU73SGR1F`CNGrW(SZSkt$wjaeNR}rDVPu6>p=MuLVO%M8o2-bS6h;+crTdNzOk~)U z!^6PmvN)1#%aYUO&{!=h(xiD`R$W`X+PyfNEpR@+l*`Rz3+^)h5?@HVvxF!XOC`07 zLxD7m29Z_9$cog~;7VltE?&{$zZoUAg z;-bC|1&7Y+eF3?|M1s`!0 zUy(bck7UJX!j=?BKgoWGyLwgRIq