mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-06-27 18:50:21 -07:00
Merge pull request #7243 from jimi-c/issue_7060_lang_c
Modify the way we set the localization environment
This commit is contained in:
commit
c6f3a0a4cc
3 changed files with 14 additions and 15 deletions
|
@ -28,7 +28,6 @@ from ansible import constants as C
|
||||||
|
|
||||||
REPLACER = "#<<INCLUDE_ANSIBLE_MODULE_COMMON>>"
|
REPLACER = "#<<INCLUDE_ANSIBLE_MODULE_COMMON>>"
|
||||||
REPLACER_ARGS = "\"<<INCLUDE_ANSIBLE_MODULE_ARGS>>\""
|
REPLACER_ARGS = "\"<<INCLUDE_ANSIBLE_MODULE_ARGS>>\""
|
||||||
REPLACER_LANG = "\"<<INCLUDE_ANSIBLE_MODULE_LANG>>\""
|
|
||||||
REPLACER_COMPLEX = "\"<<INCLUDE_ANSIBLE_MODULE_COMPLEX_ARGS>>\""
|
REPLACER_COMPLEX = "\"<<INCLUDE_ANSIBLE_MODULE_COMPLEX_ARGS>>\""
|
||||||
|
|
||||||
class ModuleReplacer(object):
|
class ModuleReplacer(object):
|
||||||
|
@ -140,12 +139,10 @@ class ModuleReplacer(object):
|
||||||
encoded_args = repr(module_args.encode('utf-8'))
|
encoded_args = repr(module_args.encode('utf-8'))
|
||||||
except UnicodeDecodeError:
|
except UnicodeDecodeError:
|
||||||
encoded_args = repr(module_args)
|
encoded_args = repr(module_args)
|
||||||
encoded_lang = repr(C.DEFAULT_MODULE_LANG)
|
|
||||||
encoded_complex = repr(complex_args_json)
|
encoded_complex = repr(complex_args_json)
|
||||||
|
|
||||||
# these strings should be part of the 'basic' snippet which is required to be included
|
# these strings should be part of the 'basic' snippet which is required to be included
|
||||||
module_data = module_data.replace(REPLACER_ARGS, encoded_args)
|
module_data = module_data.replace(REPLACER_ARGS, encoded_args)
|
||||||
module_data = module_data.replace(REPLACER_LANG, encoded_lang)
|
|
||||||
module_data = module_data.replace(REPLACER_COMPLEX, encoded_complex)
|
module_data = module_data.replace(REPLACER_COMPLEX, encoded_complex)
|
||||||
|
|
||||||
if module_style == 'new':
|
if module_style == 'new':
|
||||||
|
@ -154,7 +151,6 @@ class ModuleReplacer(object):
|
||||||
facility = inject['ansible_syslog_facility']
|
facility = inject['ansible_syslog_facility']
|
||||||
module_data = module_data.replace('syslog.LOG_USER', "syslog.%s" % facility)
|
module_data = module_data.replace('syslog.LOG_USER', "syslog.%s" % facility)
|
||||||
|
|
||||||
|
|
||||||
lines = module_data.split("\n")
|
lines = module_data.split("\n")
|
||||||
shebang = None
|
shebang = None
|
||||||
if lines[0].startswith("#!"):
|
if lines[0].startswith("#!"):
|
||||||
|
|
|
@ -30,7 +30,6 @@
|
||||||
# == BEGIN DYNAMICALLY INSERTED CODE ==
|
# == BEGIN DYNAMICALLY INSERTED CODE ==
|
||||||
|
|
||||||
MODULE_ARGS = "<<INCLUDE_ANSIBLE_MODULE_ARGS>>"
|
MODULE_ARGS = "<<INCLUDE_ANSIBLE_MODULE_ARGS>>"
|
||||||
MODULE_LANG = "<<INCLUDE_ANSIBLE_MODULE_LANG>>"
|
|
||||||
MODULE_COMPLEX_ARGS = "<<INCLUDE_ANSIBLE_MODULE_COMPLEX_ARGS>>"
|
MODULE_COMPLEX_ARGS = "<<INCLUDE_ANSIBLE_MODULE_COMPLEX_ARGS>>"
|
||||||
|
|
||||||
BOOLEANS_TRUE = ['yes', 'on', '1', 'true', 1]
|
BOOLEANS_TRUE = ['yes', 'on', '1', 'true', 1]
|
||||||
|
@ -191,8 +190,6 @@ class AnsibleModule(object):
|
||||||
if k not in self.argument_spec:
|
if k not in self.argument_spec:
|
||||||
self.argument_spec[k] = v
|
self.argument_spec[k] = v
|
||||||
|
|
||||||
os.environ['LANG'] = MODULE_LANG
|
|
||||||
os.environ['LC_CTYPE'] = MODULE_LANG
|
|
||||||
(self.params, self.args) = self._load_params()
|
(self.params, self.args) = self._load_params()
|
||||||
|
|
||||||
self._legal_inputs = ['CHECKMODE', 'NO_LOG']
|
self._legal_inputs = ['CHECKMODE', 'NO_LOG']
|
||||||
|
|
|
@ -287,15 +287,21 @@ class Runner(object):
|
||||||
def _compute_environment_string(self, inject=None):
|
def _compute_environment_string(self, inject=None):
|
||||||
''' what environment variables to use when running the command? '''
|
''' what environment variables to use when running the command? '''
|
||||||
|
|
||||||
if not self.environment:
|
default_environment = collections.OrderedDict([
|
||||||
return ""
|
('LANG', C.DEFAULT_MODULE_LANG),
|
||||||
|
('LC_CTYPE', C.DEFAULT_MODULE_LANG),
|
||||||
|
])
|
||||||
|
|
||||||
|
if self.environment:
|
||||||
enviro = template.template(self.basedir, self.environment, inject, convert_bare=True)
|
enviro = template.template(self.basedir, self.environment, inject, convert_bare=True)
|
||||||
enviro = utils.safe_eval(enviro)
|
enviro = utils.safe_eval(enviro)
|
||||||
if type(enviro) != dict:
|
if type(enviro) != dict:
|
||||||
raise errors.AnsibleError("environment must be a dictionary, received %s" % enviro)
|
raise errors.AnsibleError("environment must be a dictionary, received %s" % enviro)
|
||||||
|
default_environment.update(enviro)
|
||||||
|
|
||||||
result = ""
|
result = ""
|
||||||
for (k,v) in enviro.iteritems():
|
for (k,v) in default_environment.iteritems():
|
||||||
result = "%s=%s %s" % (k, pipes.quote(unicode(v)), result)
|
result = "%s %s=%s" % (result, k, pipes.quote(unicode(v)))
|
||||||
return result
|
return result
|
||||||
|
|
||||||
# *****************************************************
|
# *****************************************************
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue