Skip to content

ahmad88me/configparser-list

Repository files navigation

Build Status codecov

configparser-list

Extends ConfigParser to support lists (getlist)

Install

pip install configparser-list

Tests

To run the tests:

python -m unittest

Examples

Example 1 uses dict

from ConfigParserList import ConfigParser


def list_from_dict():
    """
    This example sets the configuration from a dict and then fetchs a list
    :return:
    """
    str_list = ['A', "B", "C"]
    int_list = [1, 2, 3]
    d = {'SEC': {
        'int': 10,
        'float': 1.0,
        'liststr': str_list,
        'listint': int_list}
    }
    conf = ConfigParser()
    conf.read_dict(d)
    alpha = conf.getlist('SEC', 'liststr')
    ints = conf.getlistint('SEC', 'listint')
    print("list from config (dict): ")
    print(f"Alpha {alpha} is of type {type(alpha)}")
    print(f"Ints {ints} is of type {type(ints)}")

Example 2 uses str

from ConfigParserList import ConfigParser

def list_from_string():
    """
    This example sets the configuration from a string and then fetchs a list
    :return:
    """
    conf_str = """
    [SEC]
    int=10,
    float=1.0,
    liststr=A, B, C
    listint=1, 2, 3
    """
    conf = ConfigParser()
    conf.read_string(conf_str)
    alpha = conf.getlist('SEC', 'liststr')
    ints = conf.getlistint('SEC', 'listint')
    print("list from config (string): ")
    print(f"Alpha {alpha} is of type {type(alpha)}")
    print(f"Ints {ints} is of type {type(ints)}")