handlers#

exception grave_settings.handlers.HandlerNotFound(key=None, *args, **kwargs)[source]#

Bases: Exception

class grave_settings.handlers.Handler(*args, **kwargs)[source]#

Bases: object

init_handler()[source]#
add_handlers_by_type_hints(*callables)[source]#
add_handlers(handlers)[source]#
Parameters:

handlers (Mapping | Iterable) –

update(handler)[source]#
Parameters:

handler (Self) –

add_handler(target_type, func_format)[source]#
set_default_handler(target_type, func_format)[source]#
get_key_func(item)[source]#
Parameters:

item (Type) –

handle_node(key, *args, **kwargs)[source]#
handle(key, *args, **kwargs)[source]#
class grave_settings.handlers.OrderedHandler(*args, **kwargs)[source]#

Bases: Handler

init_handler()[source]#
update(handler, update_order=True)[source]#
Parameters:

handler (OrderedHandler) –

add_handler(target_type, func_format, bind_as_method=False)[source]#
get_key_func(key_type)[source]#
Parameters:

key_type (Type) –

handle_node(key, *args, **kwargs)[source]#
handle(key, *args, **kwargs)[source]#
class grave_settings.handlers.OrderedMethodHandler(*args, **kwargs)[source]#

Bases: OrderedHandler

add_handlers_by_type_hints(*callables)[source]#
Parameters:

callables (method) –

handle_node(pass_self, key, *args, **kwargs)[source]#
handle(pass_self, instance, *args, **kwargs)[source]#
class grave_settings.handlers.MroHandler(*args, **kwargs)[source]#

Bases: Handler

update(handler)[source]#
Parameters:

handler (Handler) –

add_handler(target_type, func_format, bind_as_method=False, clear_cache=True)[source]#
add_handlers(handlers)[source]#
Parameters:

handlers (Mapping | Iterable) –

get_ordered_handlers(key)[source]#
handle(instance, *args, **kwargs)[source]#
handle_custom(key, instance, nest, *args, **kwargs)[source]#
Parameters:

key (type) –

class grave_settings.handlers.StackedHandler(*args, **kwargs)[source]#

Bases: Handler

Allows for multiple handler instances to have a chance at handling a type while the default functionality is in the default instance of this object.

update(handler)[source]#
Parameters:

handler (StackedHandler) –

handle(key, *args, **kargs)[source]#