mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
fix: Ensuring interpolation is disabled for ConfigParser (#8185)
* fix: Ensuring interpolation is disabled for ConfigParser This PR disables interpolation of ConfigParser and adds test coverage for that. * Adding changelog fragment * Fixing missing extension of changelog fragment * Adding issue link to changelog fragment * Update changelogs/fragments/8183-from_ini_to_ini.yml Co-authored-by: Felix Fontein <felix@fontein.de> --------- Co-authored-by: Felix Fontein <felix@fontein.de>
This commit is contained in:
parent
8491bf7b49
commit
9307b76e74
5 changed files with 19 additions and 4 deletions
3
changelogs/fragments/8183-from_ini_to_ini.yml
Normal file
3
changelogs/fragments/8183-from_ini_to_ini.yml
Normal file
|
@ -0,0 +1,3 @@
|
|||
bugfixes:
|
||||
- "to_ini filter plugin - disabling interpolation of ``ConfigParser`` to allow converting values with a ``%`` sign (https://github.com/ansible-collections/community.general/issues/8183, https://github.com/ansible-collections/community.general/pull/8185)."
|
||||
- "from_ini filter plugin - disabling interpolation of ``ConfigParser`` to allow converting values with a ``%`` sign (https://github.com/ansible-collections/community.general/issues/8183, https://github.com/ansible-collections/community.general/pull/8185)."
|
|
@ -57,7 +57,7 @@ class IniParser(ConfigParser):
|
|||
''' Implements a configparser which is able to return a dict '''
|
||||
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
super().__init__(interpolation=None)
|
||||
self.optionxform = str
|
||||
|
||||
def as_dict(self):
|
||||
|
|
|
@ -63,7 +63,7 @@ class IniParser(ConfigParser):
|
|||
''' Implements a configparser which sets the correct optionxform '''
|
||||
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
super().__init__(interpolation=None)
|
||||
self.optionxform = str
|
||||
|
||||
|
||||
|
|
|
@ -12,15 +12,21 @@
|
|||
another_section:
|
||||
connection: 'ssh'
|
||||
|
||||
interpolate_test:
|
||||
interpolate_test_key: '%'
|
||||
|
||||
- name: 'Write INI file that reflects ini_test_dict to {{ ini_test_file }}'
|
||||
ansible.builtin.copy:
|
||||
dest: '{{ ini_test_file }}'
|
||||
content: |
|
||||
[section_name]
|
||||
key_name=key value
|
||||
key_name = key value
|
||||
|
||||
[another_section]
|
||||
connection=ssh
|
||||
connection = ssh
|
||||
|
||||
[interpolate_test]
|
||||
interpolate_test_key = %
|
||||
|
||||
- name: 'Slurp the test file: {{ ini_test_file }}'
|
||||
ansible.builtin.slurp:
|
||||
|
|
|
@ -16,6 +16,9 @@
|
|||
another_section:
|
||||
connection: 'ssh'
|
||||
|
||||
interpolate_test:
|
||||
interpolate_test_key: '%'
|
||||
|
||||
- name: 'Write INI file manually to {{ ini_test_file }}'
|
||||
ansible.builtin.copy:
|
||||
dest: '{{ ini_test_file }}'
|
||||
|
@ -26,6 +29,9 @@
|
|||
[another_section]
|
||||
connection = ssh
|
||||
|
||||
[interpolate_test]
|
||||
interpolate_test_key = %
|
||||
|
||||
- name: 'Slurp the manually created test file: {{ ini_test_file }}'
|
||||
ansible.builtin.slurp:
|
||||
src: '{{ ini_test_file }}'
|
||||
|
|
Loading…
Reference in a new issue