我对Trac插件和python一般都很新。在这一天的大部分时间里,我一直在寻找一种方法,通过URL请求将参数输入到我正在创建的Trac插件中。
所以,如果我在网站 wikitest 上有一个插件,我可以像这样访问它,并提供一个参数:
http://localhost:8080/tracEnvironment/wiki/wikiTest?name=annie
然后,位于 wikitest 上的插件可以通过URL获取名称。 这可能吗?
我找到了类似问题的一些答案,建议使用python框架,但我认为我的情况不同,因为我正在处理Trac插件,而不是独立脚本。
将这些数据添加到我的插件的最佳方法是什么?
答案 0 :(得分:0)
你说的是“你的”Trac插件。所以我相信你知道about setting up a Trac development environment。您还需要了解如何部署Trac插件。如果它相当简单,单文件插件可能就足够了。所以你可以复制到/ plugins文件夹并立即使用它,可能需要先重新启动web服务器。
让自己熟悉伟大的Trac component architecture。代理请求的代码通常应使用IRequestHandler(来自trac.web.api),one of several扩展点接口。阅读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频道进行讨论,并随着进度不断询问。