2011-06-05 56 views
2

我想知道如何配置一个工具,以便在cherrypy中使用外部配置文件收到请求时运行。我已经阅读了文档中的示例,但是这些都将配置嵌入到源文件中,而不是单独的配置文件。我读过的工具可以在外部进行配置,但我还没有找到任何示例。在cherrypy中配置带有外部文件的工具

以对wiki的例子中,我希望能够做一些逻辑是这样的:

 
tools.print_path = cherrypy.Tool('on_start_resource', {what goes here?}) 

假设我有一个名为我的PYTHONPATH“mytools.py”文件,我可以用'import mytools'导入,在这个文件中我有一个简单的“def print_path(multiplier = 1)”方法。我在“{这里发生了什么?}”现场放置什么?我试过的变化上mytools.print_path和我得到的最好的是这样的:

 
CherryPy Checker: 
The config entry 'tools.print_path' may be invalid, because the 'print_path' tool was not found. 
section: [/] 

如果任何人都可以在正确的方向指向我,我会非常感激。

回答

0

配置文件内没有设备来实例化一个工具(cherrypy.Tool(...)部分)。你需要在代码中做到这一点。你“mytools.py”文件应该是这样的:

def print_path(multiplier=1): 
    ... 
cherrypy.tools.print_path = cherrypy.Tool('on_start_resource', print_path) 

...然后你的配置文件用于打开工具对一个给定的URL(及其子女):

[/] 
tools.print_path.on: True 
tools.print_path.multiplier: 23 

只需确保在处理启动脚本中的配置文件之前“导入mytools”。

+0

非常感谢!那就是诀窍。 – 2011-06-05 15:31:20