我已經爲Trac編寫了一個插件。 它應該提供在問題跟蹤系統中提交的票據數量和估算的燃盡數據。 用戶以wikimacro的身份寫入他的請求,並提供一個鏈接/按鈕用於下載作爲csv文件的burndown,輸出結果也是按照圖表計算的,但優先級較低。由Trac- Wikimacro動態創建的文件的下載鏈接
我有一個處理數據的工作解決方案,但我留下了以下問題。
我的問題
我如何可以提供downloadlink/- 針對動態由用戶請求創建一個文件在Wiki頁面的按鈕?
我見過一些嘗試在trac源文件和其他插件中發送文件,但是因爲我對web編程並不是很瞭解,
UPDATE1 我一直在試圖解決這個問題菲利克斯建議的方式,開闢了一個新的問題對我來說。這個(愚蠢的)例子應該證明我的問題。 我的宏生成以下URL並將其作爲鏈接添加到Wikipage。
//http://servername.com/projectname/wiki/page_name?teddy=bear
但RequestHandler不作出反應,即使條件返回true。 編輯:這段代碼現在顯示示例的工作版本。
新網址:
#example url
#http://127.0.0.1:8000/prove/files/new
class CustomRequestHandlerModule(Component):
implements(IRequestHandler)
def match_request(self,req):
#old, not working
#return "teddy=bear"== str(req.path_info).split('?')[1]
#new
accept="/files/new"== str(req.path_info)
return accept
def process_request(self,req):
csvfile = self.create_csv()
req.send_response(200)
req.send_header('Content-Type', 'text/csv')
req.send_header('Content-length', len(csvfile))
req.send_header('Content-Disposition','filename=lala.csv')
req.end_headers()
req.write(csvfile)
raise RequestDone
UPDATE2 插入loggingstatements顯示match_request不會被調用。
我在做什麼錯? (是的,create_csv()已經存在)
更新3 THX,幫助=)