diff --git a/insights/parsers/cups_confs.py b/insights/parsers/cups_confs.py index 8330c011d..636becabf 100644 --- a/insights/parsers/cups_confs.py +++ b/insights/parsers/cups_confs.py @@ -105,7 +105,7 @@ class CupsBrowsedConf(Parser, dict): Examples: >>> type(cups_browsed_conf) - >>> 'dnssd' in cups_browsed_conf['BrowseRemoteProtocols'] + >>> 'dnssd cups' in cups_browsed_conf['BrowseRemoteProtocols'] True >>> 'cups.example.com' in cups_browsed_conf['BrowseAllow'] True @@ -117,13 +117,9 @@ def parse_content(self, content): for line in get_active_lines(content): k, v = [i.strip() for i in line.split(None, 1)] if k not in self: - self[k] = v if len(v.split()) == 1 else v.split() + self[k] = [v] else: - _v = self[k] - _v = [_v] if not isinstance(_v, list) else _v - if v not in _v: - _v.append(v) - self[k] = _v + self[k].append(v) @parser(Specs.cups_files_conf) diff --git a/insights/tests/parsers/test_cups_confs.py b/insights/tests/parsers/test_cups_confs.py index 91f984f78..bb5665361 100644 --- a/insights/tests/parsers/test_cups_confs.py +++ b/insights/tests/parsers/test_cups_confs.py @@ -132,6 +132,7 @@ # Can use DNSSD and/or CUPS and/or LDAP, or 'none' for neither. BrowseRemoteProtocols dnssd cups +BrowseRemoteProtocols none BrowseAllow 192.168.0.1 BrowseAllow 192.168.0.255 BrowseAllow cups.example.com @@ -176,8 +177,8 @@ def test_cups_browsed_files_conf(): result = CupsBrowsedConf(context_wrap(CUPS_BROWSED_CONF)) assert len(result) == 2 assert 'BrowseRemoteProtocols' in result - assert result['BrowseRemoteProtocols'] == ['dnssd', 'cups'] - assert sorted(result['BrowseAllow']) == sorted(['192.168.0.1', '192.168.0.255', 'cups.example.com']) + assert result['BrowseRemoteProtocols'] == ['dnssd cups', 'none'] + assert result['BrowseAllow'] == ['192.168.0.1', '192.168.0.255', 'cups.example.com', '192.168.0.255'] def test_cups_browsed_conf_empty():