py2store.utils.attr_dict¶
a data object layer for object attributes
-
class
py2store.utils.attr_dict.
AttrMap
(arg)[source]¶ A read-only façade for navigating a JSON-like object using attribute notation. Based on Luciano Ramalho’s “Fluent Python” book.
>>> t = AttrMap({'a': {'b': 2, 'foo': 'bar'}, 'b': [1,2,3]}) >>> t AttrMap({'a': {'b': 2, 'foo': 'bar'}, 'b': [1, 2, 3]}) >>> t.a AttrMap({'b': 2, 'foo': 'bar'}) >>> t.a.foo 'bar' >>> t.b [1, 2, 3]
-
py2store.utils.attr_dict.
attr_wrap
(cls, name=None)[source]¶ Returns a Mapping class that routes attribute access to keys of mapping.
>>> A = attr_wrap(dict) >>> t = A({'a_special_attr': 'foo', 'another_attr': 2, # valid identifiers ... 42: [1, 2], '$invalid': 'identifier', 'class': 'is a reserved keyword'}) # not valid identifiers >>> # verify that we have the attr we want >>> assert 'a_special_attr' in dir(t) >>> assert 'another_attr' in dir(t) >>> # verify that we DO NOT have the attr we DO NOT want >>> assert 42 not in dir(t) >>> assert '$invalid' not in dir(t) >>> assert 'class' not in dir(t)
-
py2store.utils.attr_dict.
iskeyword
()¶ x.__contains__(y) <==> y in x.