manage_attrs

File Purpose: tools for easily managing attributes

Functions

attach_attrs(**attrs_and_values)

returns decorator which attaches attrs to object, then returns object.

maintain_attrs(*attrs)

return decorator which restores attrs of obj after running function.

maintaining_attrs(self, *attrs, **attrs_as_flags)

returns context manager which restores attrs of self to their original values, upon exit.

set_or_del_attr(obj, attr, value[, unset, ...])

usually, setattr(obj, attr, value).

use_attrs([attrs_as_dict])

return decorator which sets attrs of object before running function then restores them after.

using_attrs(self[, attrs_as_dict, ...])

returns context manager which sets attrs of obj upon entry; restores original values upon exit.

Classes

CallInContext(f, *args, **kw)

context manager which calls f with *args and **kw upon entry, and does nothing upon exit.

IncrementableAttrManager(obj[, default, step])

an incrementable attribute, and methods to manage other attributes when it is incremented or decremented.

MaintainingAttrs(obj, *attrs, **attrs_as_flags)

context manager which restores attrs of obj to their original values, upon exit.

UsingAttrs(obj[, attrs_as_dict, _unset_sentinel])

context manager which sets attrs of obj upon entry; restores original values upon exit.

UsingAttrsSignaled(obj[, attrs_as_dict, ...])

context manager which (enter) sets attrs of obj; (exit) restores original values; (both) sends signals (e.g. to obj).