betty.collection.mapping.adapter module

Adapters between Betty and Python mappings.

class betty.collection.mapping.adapter.MutableResolvedMappingAdapter

Bases: ResolvedMappingAdapter, MutableResolvedMapping, Generic

Decorate another mapping to resolve any values before proxying them.

__init__(upstream: ~collections.abc.MutableMapping, *, key_resolver: ~collections.abc.Callable[[KeyT | ResolvableKeyT], KeyT] = <function passthrough>, value_resolver: ~collections.abc.Callable[[ValueT | ResolvableValueT], ValueT] = <function passthrough>)
pop(key: KeyT | ResolvableKeyT, /) ValueT
pop(key: KeyT | ResolvableKeyT, /, default: ValueT | ResolvableValueT) ValueT
pop(key: KeyT | ResolvableKeyT, /, default: T) ValueT | T

D.pop(k[,d]) -> v, remove specified key and return the corresponding value. If key is not found, d is returned if given, otherwise KeyError is raised.

popitem() (k, v), remove and return some (key, value) pair

as a 2-tuple; but raise KeyError if D is empty.

setdefault(key: KeyT | ResolvableKeyT, default: None = None, /) T | None
setdefault(key: KeyT | ResolvableKeyT, default: ValueT | ResolvableValueT, /) ValueT

D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D

update(other: Mapping[KeyT | ResolvableKeyT, ValueT | ResolvableValueT] | Iterable[tuple[KeyT | ResolvableKeyT, ValueT | ResolvableValueT]], /, **kwargs: ValueT | ResolvableValueT) None
update(**kwargs: ValueT | ResolvableValueT) None

D.update([E, ]**F) -> None. Update D from mapping/iterable E and F. If E present and has a .keys() method, does: for k in E.keys(): D[k] = E[k] If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v In either case, this is followed by: for k, v in F.items(): D[k] = v

class betty.collection.mapping.adapter.ResolvedMappingAdapter

Bases: ResolvedMapping, Generic

Decorate another mapping to resolve any values before proxying them.

__init__(upstream: ~collections.abc.Mapping, *, key_resolver: ~collections.abc.Callable[[KeyT | ResolvableKeyT], KeyT] = <function passthrough>)
get(key: KeyT | ResolvableKeyT, default: T, /) ValueT | T
get(key: KeyT | ResolvableKeyT, default: None = None, /) ValueT | None

D.get(k[,d]) -> D[k] if k in D, else d. d defaults to None.