betty.collections.mapping.adapter module

Adapters between Betty and Python mappings.

class betty.collections.mapping.adapter.MutableResolvedMappingAdapter

Bases: ResolvedMappingAdapter, MutableResolvedMapping, Generic

Decorate another mapping to resolve any values before proxying them.

__init__(proxied: MutableMapping[KeyT, ValueT], *, key_resolver: Callable[[KeyT | ResolvableKeyT], KeyT] = <function passthrough>, value_resolver: 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

Update the mapping with the provided values.

See collections.abc.MutableMapping.update().

class betty.collections.mapping.adapter.ResolvedMappingAdapter

Bases: ResolvedMapping, Generic

Decorate another mapping to resolve any values before proxying them.

__init__(proxied: Mapping[KeyT, ValueT], *, key_resolver: 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.