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

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
This commit is contained in:
Alexei Znamensky 2024-07-05 18:36:17 +12:00 committed by GitHub
parent 01d8c7b769
commit 5259caacae
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 12 additions and 1 deletions

View 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).

View file

@ -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:

View file

@ -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