read properties file into bunch.

    :param filename: string
    :rtype: bunch (dict like and object like)

def read_properties(filename):
    """read properties file into bunch.

    :param filename: string
    :rtype: bunch (dict like and object like)

    """
    s = path(filename).text()
    dummy_section = 'xxx'
    cfgparser = configparser.RawConfigParser()

    # avoid converting options to lower case
    cfgparser.optionxform = str

    cfgparser.readfp(StringIO('[%s]\n' % dummy_section + s))
    bunch = AutoBunch()
    for x in cfgparser.options(dummy_section):
        setattr(bunch, x, cfgparser.get(dummy_section, str(x)))
    return bunch