dot_dict¶
- class atproto_client.models.dot_dict.DotDict(data: Dict[str, Any])¶
Bases:
UnknownDict
Dot notation for dictionaries.
Note
If the record is out of the official lexicon, it`s impossible to deserialize it to a proper data model. Such models will fall back to dictionaries. All unknown “Union” types will also be caught as dicts. This class exists to provide an ability to use such fallbacks as “real” data models.
Example
>>> test_data = {'a': 1, 'b': {'c': 2}, 'd': [{'e': 3}, 4, 5]} >>> model = DotDict(test_data) >>> assert isinstance(model, DotDict) >>> assert model.nonExistingField is None >>> assert model.a == 1 >>> assert model['a'] == 1 >>> assert model['b']['c'] == 2 >>> assert model.b.c == 2 >>> assert model.b['c'] == 2 >>> assert model['b'].c == 2 >>> assert model.d[0].e == 3 >>> assert model['d'][0]['e'] == 3 >>> assert model['d'][0].e == 3 >>> assert model['d'][1] == 4 >>> assert model['d'][2] == 5 >>> model['d'][0]['e'] = 6 >>> assert model['d'][0]['e'] == 6 >>> assert DotDict(test_data) == DotDict(test_data) >>> assert model.to_dict() == test_data
- to_dict() Dict[str, Any] ¶
Unwrap DotDict to Python built-in dict.