0

一般来说,我对 Trac 插件和 python 相当陌生。在这一天的大部分时间里,我一直在寻找一种通过 URL 请求将参数输入到我正在创建的 Trac 插件中的方法。

因此,如果我在站点wikitest上有一个插件,我可以像这样访问它,并提供一个参数:

http://localhost:8080/tracEnvironment/wiki/wikiTest?name=annie

然后我的插件,位于wikitest可以通过 URL 获得名称。这可能吗?

我找到了一些类似问题的答案,建议使用 python 框架,但我认为我的情况不同,因为我正在处理 Trac 插件,而不是独立脚本。

将这些数据传输到我的插件的最佳方式是什么?

4

1 回答 1

0

您谈到“您的”Trac 插件。所以我相信你知道设置 Trac 开发环境。进一步,您需要了解如何部署 Trac 插件。如果它相当简单,一个文件插件可能就足够了。因此,您可以复制到 /plugins 文件夹并立即使用它,可能需要先重新启动 Web 服务器。

让自己熟悉伟大的Trac 组件架构。处理请求的代码通常应该使用 IRequestHandler(来自 trac.web.api),这是几个扩展点接口之一。阅读 Trac-Hacks.org 上现有的插件代码,以更好地了解如何使用它。很容易检查,如果进来的请求是针对你的扩展中定义的路径

if req.path_info.startswith('wikitest'):
    # Do something useful.

测试请求类型并做更多事情

if req.method == 'GET':
    # Handle the request
    if reg.args.get('name'):
        name = req.args['name']
        self.log.debug('Got request for name=%s' % name)

阅读更多代码,在 freenode.net 的#trac IRC 频道中讨论,并在您取得进展时不断提问。

于 2013-06-07T16:29:35.803 回答