如何将工具挂钩到Cherrypy中的多个挂钩点?

时间:2017-03-16 18:55:40

标签: cherrypy

我有一个自定义工具,我已经连接到before_finalize钩点。我希望使用相同的工具来运行'after_error_response'挂钩点。有没有办法实现这个目标?

这就是我创建工具的方式

class MyTool(cherrypy.Tool):
    def __init__(self):
        cherrypy.Tool.__init__(self, 'before_finalize',
                               self._do_something,
                               priority=100)

cherrypy.tools.mytool = MyTool()

1 个答案:

答案 0 :(得分:0)

您可以参数化挂钩点并以不同的名称指定它。

break foo        # creates breakpoint 1
commands 1
  call _exit(1)  # causes inferior process to exit. 
end

要在多个点注册相同的工具,您必须覆盖cherrypy.tools.mytool = MyTool('before_finalize') cherrypy.tools.mytool2 = MyTool('after_error_response') 本身。替换:

Tool._setup

调用每个点。