######################## Known bugs / limitations ######################## If you find some bugs, you are welcome to report them :^) Please see also the :doc:`warnings `. Partial unicode handling ######################## Unicode is only partially supported, for example it is *not* supported to pre-populate the configuration object with :py:func:`unicode`; see `not a true dict`_. It also assumes all files use the same encoding (default to UTF8, or at least ASCII7). Not a true dict ############### The configuration objects do not behave like a true :py:class:`dict`, especially: No type conversion on some methods ================================== Type conversion is not supported, at least, on: * pre-population / initialization (ie: ``IHIHI((), {'a': 'b'})``) * functions: ``pop``, ``popitem``, ``setdefault``, ``update`` .. code-block:: python # this will not work as expected (yet) conf = IHIHI('file.conf', {'pi': 3.14, 'lang': u'中文', u'中文': 'Chinese'}) # as a workaround, use this method conf = IHIHI('file.conf') conf['pi'] = 3.14 conf['lang'] = u'中文' conf[u'中文'] = 'Chinese' # now the defaults has been set, reparse conf.reload(force=True) # or you can alternatively, carefully specify (utf8) strings on the init conf = IHIHI('file.conf', {'pi': '3.14', 'lang': u'中文'.encode('utf8'), u'中文'.encode('utf8'): 'Chinese'}) # now you can conf['test'] = u'$pi, $lang, $中文!' print conf.get_unicode('test') # resolve as: 3.14, 中文, Chinese! .. _single-line_only: Single-line only ################ It does not, yet, support line-continuation; that mean your configuration value must fit on one line.