Mercurial > hgrepos > Python > libs > ConfigMix
diff configmix/toml.py @ 195:28e6c1413947
Added support for TOML style configuration files
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Fri, 03 May 2019 21:51:09 +0200 |
| parents | |
| children | b3b5ed34d180 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/configmix/toml.py Fri May 03 21:51:09 2019 +0200 @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +#- +# :Copyright: (c) 2015-2019, Franz Glasner. All rights reserved. +# :License: 3-clause BSD. See LICENSE.txt for details. +#- +"""Read TOML style configuration files. + +""" + +from __future__ import division, absolute_import, print_function + + +__all__ = ["load"] + + +import io +try: + from collections import OrderedDict as DictImpl +except ImportError: + try: + from ordereddict import OrderedDict as DictImpl + except ImportError: + DictImpl = dict + +import toml + +from .compat import u2fs + + +def load(filename, encoding="utf-8"): + """Load a single TOML file with name `filename` and encoding `encoding`. + + .. note:: The TOML standard requires that all TOML files are UTF-8 + encoded. + + """ + with io.open(u2fs(filename), mode="rt", encoding=encoding) as tfp: + return toml.loads(tfp.read(), _dict=DictImpl)
