Source code for ini2toml.drivers.configparser

from configparser import ConfigParser
from types import MappingProxyType
from typing import Mapping

from ..types import IntermediateRepr

EMPTY: Mapping = MappingProxyType({})


[docs]def parse(text: str, opts: Mapping = EMPTY) -> IntermediateRepr: cfg = ConfigParser(**opts) cfg.read_string(text) irepr = IntermediateRepr() for name, section in cfg.items(): if name == "DEFAULT": continue irepr.append(name, translate_section(section)) return irepr
[docs]def translate_section(section: Mapping): irepr = IntermediateRepr() for name, value in section.items(): irepr.append(name, value) return irepr