mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
[PR #8517/5259caac backport][stable-9] cmd_runner - handle special value "auto" in param force_lang (#8581)
cmd_runner - handle special value "auto" in param force_lang (#8517)
* cmd_runner - handle special value "auto" in param force_lang
* add changelog frag
* update doc in puppet
* fix markup
(cherry picked from commit 5259caacae
)
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
This commit is contained in:
parent
3a01ceb355
commit
c16c4a32d1
3 changed files with 12 additions and 1 deletions
2
changelogs/fragments/8517-cmd-runner-lang-auto.yml
Normal file
2
changelogs/fragments/8517-cmd-runner-lang-auto.yml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
minor_changes:
|
||||||
|
- CmdRunner module utils - the parameter ``force_lang`` now supports the special value ``auto`` which will automatically try and determine the best parsable locale in the system (https://github.com/ansible-collections/community.general/pull/8517).
|
|
@ -11,6 +11,7 @@ from functools import wraps
|
||||||
|
|
||||||
from ansible.module_utils.common.collections import is_sequence
|
from ansible.module_utils.common.collections import is_sequence
|
||||||
from ansible.module_utils.six import iteritems
|
from ansible.module_utils.six import iteritems
|
||||||
|
from ansible.module_utils.common.locale import get_best_parsable_locale
|
||||||
|
|
||||||
|
|
||||||
def _ensure_list(value):
|
def _ensure_list(value):
|
||||||
|
@ -236,7 +237,13 @@ class CmdRunner(object):
|
||||||
fmt = _Format.as_func(func=fmt, ignore_none=True)
|
fmt = _Format.as_func(func=fmt, ignore_none=True)
|
||||||
self.arg_formats[fmt_name] = fmt
|
self.arg_formats[fmt_name] = fmt
|
||||||
self.check_rc = check_rc
|
self.check_rc = check_rc
|
||||||
self.force_lang = force_lang
|
if force_lang == "auto":
|
||||||
|
try:
|
||||||
|
self.force_lang = get_best_parsable_locale()
|
||||||
|
except RuntimeWarning:
|
||||||
|
self.force_lang = "C"
|
||||||
|
else:
|
||||||
|
self.force_lang = force_lang
|
||||||
self.path_prefix = path_prefix
|
self.path_prefix = path_prefix
|
||||||
if environ_update is None:
|
if environ_update is None:
|
||||||
environ_update = {}
|
environ_update = {}
|
||||||
|
|
|
@ -128,6 +128,8 @@ options:
|
||||||
- The default value, V(C), is supported on every system, but can lead to encoding errors if UTF-8 is used in the output
|
- The default value, V(C), is supported on every system, but can lead to encoding errors if UTF-8 is used in the output
|
||||||
- Use V(C.UTF-8) or V(en_US.UTF-8) or similar UTF-8 supporting locales in case of problems. You need to make sure
|
- Use V(C.UTF-8) or V(en_US.UTF-8) or similar UTF-8 supporting locales in case of problems. You need to make sure
|
||||||
the selected locale is supported on the system the puppet agent runs on.
|
the selected locale is supported on the system the puppet agent runs on.
|
||||||
|
- Starting with community.general 9.1.0, you can use the value V(auto) and the module will
|
||||||
|
try and determine the best parseable locale to use.
|
||||||
type: str
|
type: str
|
||||||
default: C
|
default: C
|
||||||
version_added: 8.6.0
|
version_added: 8.6.0
|
||||||
|
|
Loading…
Reference in a new issue