scriptconfig.dict_like module

Defines DictLike which is a mixin class that makes it easier for objects to duck-type dictionaries.

class scriptconfig.dict_like.DictLike[source]

Bases: object

An inherited class must specify the getitem, setitem, and

keys methods.

A class is dictionary like if it has:

__iter__, __len__, __contains__, __getitem__, items, keys, values, get,

and if it should be writable it should have: __delitem__, __setitem__, update,

And perhaps: copy,

__iter__, __len__, __contains__, __getitem__, items, keys, values, get,

and if it should be writable it should have: __delitem__, __setitem__, update,

And perhaps: copy,

Example

from scriptconfig.dict_like import DictLike class DuckDict(DictLike):

def __init__(self, _data=None):
if _data is None:

_data = {}

self._data = _data

def getitem(self, key):

return self._data[key]

def keys(self):

return self._data.keys()

self = DuckDict({1: 2, 3: 4}) print(f’self._data={self._data}’) cast = dict(self) print(f’cast={cast}’) print(f’self={self}’)

getitem(key)[source]
Parameters:

key (Any) – the key

Returns:

the associated value

Return type:

Any

setitem(key, value)[source]
delitem(key)[source]
keys()[source]
Yields:

str

items()[source]
values()[source]
copy()[source]
asdict()[source]
to_dict()[source]
update(other)[source]
iteritems()[source]
itervalues()[source]
iterkeys()[source]
get(key, default=None)[source]