Fix #10394 configparser is in Python3 only.

This commit is contained in:
Vladimir Botka 2025-07-13 13:18:26 +02:00 committed by Felix Fontein
commit bb7588df0b

View file

@ -103,8 +103,10 @@ changed:
"""
from ansible.module_utils.basic import AnsibleModule
from configparser import ConfigParser
import re
import sys
if sys.version_info > (3, 5):
from configparser import ConfigParser
class Sysrc(object):
@ -131,12 +133,18 @@ class Sysrc(object):
Use this dictionary to preform the tests.
"""
(rc, out, err) = self.run_sysrc('-e', '-a')
conf = ConfigParser()
conf.read_string('[top]\n' + out) # Add faked top section
if self.value is None:
return self.name in conf['top']
if sys.version_info > (3, 5):
parser = ConfigParser()
parser.read_string('[top]\n' + out) # Add faked top section
conf = {k: parser['top'][k] for k in parser['top']}
else:
return conf['top'][self.name] == '"%s"' % self.value
conf = dict([i.split('=', 1) for i in out.splitlines()])
if self.value is None:
return self.name in conf
else:
return conf[self.name] == '"%s"' % self.value
def contains(self):
(rc, out, err) = self.run_sysrc('-n', self.name)