[enh] also show apps without job on the apps page

This commit is contained in:
Laurent Peuch 2019-01-22 05:16:32 +01:00
parent a9cdea0ee2
commit 8ba3d5f242

81
run.py
View file

@ -551,44 +551,49 @@ async def ws_apps(request, websocket):
"name" "name"
''') ''')
if len(repos): repos = [
repos = [ {
{ "id": x.id,
"id": x.id, "name": x.name,
"name": x.name, "url": x.url,
"url": x.url, "revision": x.revision,
"revision": x.revision, "app_list": x.app_list,
"app_list": x.app_list, "state": x.state,
"state": x.state, "random_job_day": x.random_job_day,
"random_job_day": x.random_job_day, "job_id": x.job_id,
"job_id": x.job_id, "job_name": x.job_name,
"job_name": x.job_name, "job_state": x.job_state,
"job_state": x.job_state, "log": x.log,
"log": x.log, "created_time": datetime.strptime(x.created_time.split(".")[0], '%Y-%m-%d %H:%M:%S') if x.created_time else None,
"created_time": datetime.strptime(x.created_time.split(".")[0], '%Y-%m-%d %H:%M:%S') if x.created_time else None, "started_time": datetime.strptime(x.started_time.split(".")[0], '%Y-%m-%d %H:%M:%S') if x.started_time else None,
"started_time": datetime.strptime(x.started_time.split(".")[0], '%Y-%m-%d %H:%M:%S') if x.started_time else None, "end_time": datetime.strptime(x.end_time.split(".")[0], '%Y-%m-%d %H:%M:%S') if x.end_time else None,
"end_time": datetime.strptime(x.end_time.split(".")[0], '%Y-%m-%d %H:%M:%S') if x.end_time else None, } for x in repos
} for x in repos ]
]
else: # add apps without jobs
repos = [ selected_repos = {x["name"] for x in repos}
{ for repo in Repo.select():
"id": x.id, if repo.id in selected_repos:
"name": x.name, continue
"url": x.url,
"revision": x.revision, repos.append({
"app_list": x.app_list, "id": repo.id,
"state": x.state, "name": repo.name,
"random_job_day": x.random_job_day, "url": repo.url,
"job_id": None, "revision": repo.revision,
"job_name": None, "app_list": repo.app_list,
"job_state": None, "state": repo.state,
"log": None, "random_job_day": repo.random_job_day,
"created_time": None, "job_id": None,
"started_time": None, "job_name": None,
"end_time": None, "job_state": None,
} for x in Repo.select() "log": None,
] "created_time": None,
"started_time": None,
"end_time": None,
})
repos = sorted(repos, key=lambda x: x["name"])
await websocket.send(ujson.dumps({ await websocket.send(ujson.dumps({
"action": "init_apps", "action": "init_apps",