Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#637 closed enhancement (fixed)

Callable hooks that iterate through vs hooks that halt

Reported by: Christopher Allan Webber Owned by: Christopher Allan Webber
Priority: major Milestone: 0.4.0
Component: programming Keywords: pluginapi
Cc: Parent Tickets:

Description

We can handle notification and transform via the "callable hooks" system, but we don't have a "handler" that is the last one to get it and then things stop.

One way to handle this: have a series of method calling handlers that do things in different ways, like:

  • callable_hook_runone: runs them all till they stop
    • which order? Does the last or the first get to claim it?
  • callable_hook_runall: runs every one of the hooks
    • likewise... which order?

.. both of those would expect *args, **kwargs and pass those keyword
arguments onto the hooks.

It might also be possible to make some callable classes like this, like:

   callable_hook = CallableHookRunone(
      'some_hookname', accrue=True)  # accrues the results into a list
   results = callable_hook(arg1, arg2, kwarg="foo")

Subtickets

Change History (5)

comment:1 Changed 9 years ago by Christopher Allan Webber

Keywords: pluginapi added; plugin removed

comment:2 Changed 9 years ago by Christopher Allan Webber

Summary: Convenient callable hooks that iterate through vs hooks that haltCallable hooks that iterate through vs hooks that halt

comment:3 Changed 9 years ago by Christopher Allan Webber

Type: defectenhancement

comment:4 Changed 9 years ago by Christopher Allan Webber

Resolution: fixed
Status: newclosed

Just hit master! With tests!

comment:5 Changed 9 years ago by Christopher Allan Webber

I'm reopening this, given the new plans I wrote to the list:

So I'm going to do that then close this out :)

Note: See TracTickets for help on using tickets.