Настройка инструментов с помощью внешнего файла в cherrypy - PullRequest
2 голосов
/ 05 июня 2011

Я пытаюсь выяснить, как настроить инструмент для запуска при получении запроса в cherrypy, используя внешний файл конфигурации.Я прочитал примеры в документации, но все они включают конфигурацию в исходный файл, а не в отдельный файл конфигурации.Я читал, что инструменты можно настраивать извне, но я не нашел никаких примеров.

Взяв пример на wiki , я бы хотел что-то сделать логическинапример:

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

Предположим, у меня есть файл с именем 'mytools.py' в моей PYTHONPATH, который я могу импортировать с помощью 'import mytools', и в этом файле у меня есть простой "def print_path (множитель)= 1) метод.Что я помещаю в место "{что идет сюда?}"?Я пробовал варианты mytools.print_path, и лучшее, что я получил, это:

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

Если бы кто-нибудь мог указать мне правильное направление, я был бы очень признателен.

1 Ответ

0 голосов
/ 05 июня 2011

В файле конфигурации нет средства для создания экземпляра Инструмента (часть 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 перед обработкой файла конфигурации в вашем скрипте запуска.

...