From 53f82ae1f171454c543974cad58a4a1c1434d006 Mon Sep 17 00:00:00 2001 From: Benjamin Bohard Date: Tue, 26 Oct 2021 11:31:21 +0200 Subject: [PATCH] =?UTF-8?q?Compatibilit=C3=A9=20python2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cadoles/eole/plugins/modules/creoleset.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/cadoles/eole/plugins/modules/creoleset.py b/cadoles/eole/plugins/modules/creoleset.py index d587180..658a6cf 100644 --- a/cadoles/eole/plugins/modules/creoleset.py +++ b/cadoles/eole/plugins/modules/creoleset.py @@ -50,6 +50,7 @@ diff: sample: ['activer_ajout_hosts: non => oui'] ''' +import sys from ansible.module_utils.basic import AnsibleModule from creole.loader import creole_loader, config_save_values @@ -62,6 +63,18 @@ def process_value(variable, value): raise Exception('Variable {} is not multi'.format(variable)) return value +def yml_params_to_unicode(param): + def convert_param(param): + if isinstance(param, str): + return param.decode('utf-8') + if isinstance(param, list): + return [convert_param(p) for p in param] + if isinstance(param, dict): + return {convert_param(key): convert_param(value) for key,value in param.items()} + return param + return convert_param(param) + + def run_module(): # define available arguments/parameters a user can pass to the module @@ -97,6 +110,8 @@ def run_module(): d = c.cfgimpl_get_description() diff = [] c.cfgimpl_get_settings().remove('disabled') + if sys.version_info < (3,): + module.params['variables'] = yml_params_to_unicode(module.params['variables']) variables = {} for variable in module.params['variables']: