notebooknode.py
21 lines
| 535 B
| text/x-python
|
PythonLexer
MinRK
|
r18606 | """NotebookNode - adding attribute access to dicts""" | ||
from IPython.utils.ipstruct import Struct | ||||
class NotebookNode(Struct): | ||||
"""A dict-like node with attribute-access""" | ||||
pass | ||||
def from_dict(d): | ||||
"""Convert dict to dict-like NotebookNode | ||||
Recursively converts any dict in the container to a NotebookNode | ||||
""" | ||||
if isinstance(d, dict): | ||||
return NotebookNode({k:from_dict(v) for k,v in d.items()}) | ||||
elif isinstance(d, (tuple, list)): | ||||
return [from_dict(i) for i in d] | ||||
else: | ||||
return d | ||||