dict_from_parsed

Full name: ase2sprkkr.common.parsing_results.dict_from_parsed

ase2sprkkr.common.parsing_results.dict_from_parsed(values)[source]

Create a dictionary from the arguments. From duplicate arguments create numpy arrays. Moreover, if there is key of type (a,b), it will be transformed to subdictionary. Such a keys do not allow duplicates.

>>> dict_from_parsed([("x", "y"), ((DictKey("a", 1)), 1), ((DictKey("a", 3)), 2)])
{'x': 'y', 'a': {1: 1, 3: 2}}
>>> dict_from_parsed([("x", 1), ("x", "2")])
Traceback (most recent call last):
pyparsing.exceptions.ParseException: There are non-unique keys: x
>>> dict_from_parsed([(RepeatedKey("x"), 1), (RepeatedKey("x"), 2)])
{'x': [1, 2]}