nanoutils.yaml_utils

A yaml.Loader subclass that dissallows for duplicate keys.

Index

UniqueLoader(stream)

A yaml.Loader subclass that dissallows for duplicate keys.

API

class nanoutils.UniqueLoader(stream)[source]

A yaml.Loader subclass that dissallows for duplicate keys.

Examples

>>> import yaml
>>> from nanoutils import UniqueLoader

>>> STR = """
... a: 0
... a: 1
... """

>>> yaml.load(STR, Loader=yaml.SafeLoader)
{'a': 1}

>>> yaml.load(STR, Loader=UniqueLoader)  
Traceback (most recent call last):
  ...
yaml.constructor.ConstructorError: while constructing a mapping
  in "<unicode string>", line 2, column 1
found a duplicate key
  in "<unicode string>", line 3, column 1