1
0
mirror of https://github.com/kellyjonbrazil/jc.git synced 2025-07-15 01:24:29 +02:00

simplify code and doc update

This commit is contained in:
Kelly Brazil
2023-01-03 12:55:38 -08:00
parent cee9f8bf32
commit 6d5768b26b
2 changed files with 10 additions and 15 deletions

View File

@ -73,7 +73,7 @@ Parameters:
Returns: Returns:
Dictionary representing the ini file Dictionary representing a Key/Value pair document.
### Parser Information ### Parser Information
Compatibility: linux, darwin, cygwin, win32, aix, freebsd Compatibility: linux, darwin, cygwin, win32, aix, freebsd

View File

@ -78,7 +78,7 @@ def _process(proc_data):
Returns: Returns:
Dictionary representing an ini or simple key/value pair document. Dictionary representing a key/value pair document.
""" """
# remove quotation marks from beginning and end of values # remove quotation marks from beginning and end of values
for key in proc_data: for key in proc_data:
@ -106,7 +106,7 @@ def parse(data, raw=False, quiet=False):
Returns: Returns:
Dictionary representing the ini file Dictionary representing a Key/Value pair document.
""" """
jc.utils.compatibility(__name__, info.compatible, quiet) jc.utils.compatibility(__name__, info.compatible, quiet)
jc.utils.input_type_check(data) jc.utils.input_type_check(data)
@ -115,21 +115,16 @@ def parse(data, raw=False, quiet=False):
if jc.utils.has_data(data): if jc.utils.has_data(data):
ini = configparser.ConfigParser(allow_no_value=True, kv_parser = configparser.ConfigParser(allow_no_value=True,
interpolation=None, interpolation=None,
strict=False) strict=False)
# don't convert keys to lower-case: # don't convert keys to lower-case:
ini.optionxform = lambda option: option kv_parser.optionxform = lambda option: option
try:
ini.read_string(data)
raw_output = {s: dict(ini.items(s)) for s in ini.sections()}
except configparser.MissingSectionHeaderError:
data = '[data]\n' + data data = '[data]\n' + data
ini.read_string(data) kv_parser.read_string(data)
output_dict = {s: dict(ini.items(s)) for s in ini.sections()} output_dict = {s: dict(kv_parser.items(s)) for s in kv_parser.sections()}
for key, value in output_dict['data'].items(): for key, value in output_dict['data'].items():
raw_output[key] = value raw_output[key] = value