from flask import *
from redmine import Redmine
import sys
app = Flask(__name__)
REDMINE_KEY='sdfsdfsdfsdfsd'
REDMINE_URL='http://blabla/redmine'
redmine = Redmine(REDMINE_URL)
redmine = Redmine(REDMINE_URL, key=REDMINE_KEY)
neu = []
bearbeitung = []
erledigt = []
id_thema = ""
thema = ""
project = ""
zugewiesen = ""
def ticket_zugewiesen(diesTicket):
alleticket = redmine.issue.get(diesTicket)
try:
alleticket.assigned_to
except:
return True
def ticket_infos(diesTicket):
alleticket = redmine.issue.get(diesTicket)
try:
id_thema = alleticket.id
thema = alleticket.subject
project = alleticket.project.name
zugewiesen = alleticket.assigned_to
except:
id_thema = alleticket.id
thema = alleticket.subject
project = alleticket.project.name
return
neueIssues = redmine.issue.filter(status_id='1')
for i in neueIssues:
neu.append(i.id)
neueIssues = redmine.issue.filter(status_id='2')
for i in neueIssues:
bearbeitung.append(i.id)
neueIssues = redmine.issue.filter(status_id='5')
for i in neueIssues:
erledigt.append(i.id)
@app.route('/_sendinfo')
def info():
return jsonify(result=id_thema,thema=thema, project=project, zugewiesen=zugewiesen)
@app.route('/')
def home():
while True:
neu2 = []
bearbeitung2 = []
erledigt2 = []
neueIssues = redmine.issue.filter(status_id='1')
for neues in neueIssues:
neu2.append(neues.id)
neueIssues = redmine.issue.filter(status_id='2')
for bearbeitetes in neueIssues:
bearbeitung2.append(bearbeitetes.id)
neueIssues = redmine.issue.filter(status_id='5')
for erledigtes in neueIssues:
erledigt2.append(erledigtes.id)
for i in neu2:
if i not in neu:
janein = ticket_zugewiesen(i)
if janein is True:
l = ticket_infos(i)
else:
pass
neu = neu2
for ii in bearbeitung2:
if ii not in bearbeitung:
if ii in erledigt:
l = ticket_infos(ii)
erledigt = erledigt2
bearbeitung = bearbeitung2
for iii in erledigt2:
if iii not in erledigt:
l = ticket_infos(iii)
erledigt = erledigt2
return render_template("index.html")
if __name__ == '__main__':
app.run()
我怎樣才能使這個無盡的循環在home()
工作在燒瓶? 現在它不起作用。 或者有更好的方式從redmine獲取數據嗎?如何在燒瓶中製作一個無限循環
我會檢查每一輪,無限循環,如果三個列表neu2,bearbeitung2,erledigt2等於neu,bearbeitung,erledigt。如果在「list2」中有更多的數字,我會動態地在前端(瀏覽器)上顯示一些信息。
是的,這是正確的!我會將更新推送到網站。那麼,我怎麼能用AJAX進行輪詢?我不知道我該如何做到這一點。你能給我一個簡單的例子嗎? – Samhamsam
你需要使用JavaScript來做到這一點。我不認爲在SO評論中解釋AJAX是有道理的。谷歌周圍。我也編輯了我對SSE的回答。你可以嘗試他們,我鏈接的問題帶有一個完整的例子。 – ralh
好的,謝謝。我會嘗試服務器發送的事件。對我來說似乎很容易。讓我們來看看。 – Samhamsam