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.six import iteritems
|
||||
from ansible.module_utils.common.locale import get_best_parsable_locale
|
||||
|
||||
|
||||
def _ensure_list(value):
|
||||
|
@ -236,6 +237,12 @@ class CmdRunner(object):
|
|||
fmt = _Format.as_func(func=fmt, ignore_none=True)
|
||||
self.arg_formats[fmt_name] = fmt
|
||||
self.check_rc = check_rc
|
||||
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
|
||||
if environ_update is None:
|
||||
|
|
|
@ -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
|
||||
- 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.
|
||||
- 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
|
||||
default: C
|
||||
version_added: 8.6.0
|
||||
|
|
Loading…
Reference in a new issue