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.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 = {}

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