summaryrefslogtreecommitdiff
path: root/kpov_judge/web/kpov_judge/kpov_judge.py
diff options
context:
space:
mode:
authorgasperfele@fri1.uni-lj.si <gasperfele@fri1.uni-lj.si@5cf9fbd1-b2bc-434c-b4b7-e852f4f63414>2016-10-07 20:27:08 +0000
committergasperfele@fri1.uni-lj.si <gasperfele@fri1.uni-lj.si@5cf9fbd1-b2bc-434c-b4b7-e852f4f63414>2016-10-07 20:27:08 +0000
commitaec9d263e7ec6202c9ae74d4b1999ec458cc4d25 (patch)
tree631f7a675bd7c6abac35d9bb146d42de77514b26 /kpov_judge/web/kpov_judge/kpov_judge.py
parentd1109cba5acd39402f759292162cb687bf9c85fc (diff)
An image depicting the setup is now shown for each task
git-svn-id: https://svn.lusy.fri.uni-lj.si/kpov-public-svn/kpov-public@358 5cf9fbd1-b2bc-434c-b4b7-e852f4f63414
Diffstat (limited to 'kpov_judge/web/kpov_judge/kpov_judge.py')
-rwxr-xr-xkpov_judge/web/kpov_judge/kpov_judge.py19
1 files changed, 13 insertions, 6 deletions
diff --git a/kpov_judge/web/kpov_judge/kpov_judge.py b/kpov_judge/web/kpov_judge/kpov_judge.py
index d02ba99..21233f4 100755
--- a/kpov_judge/web/kpov_judge/kpov_judge.py
+++ b/kpov_judge/web/kpov_judge/kpov_judge.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python
import flask
-from flask import Flask, g, session, redirect, url_for, abort, render_template, flash, app, request
+from flask import Flask, g, session, redirect, url_for, abort, render_template, flash, app, request, Response
import pymongo
import json
import random
@@ -104,11 +104,18 @@ def results_json(task_id):
return json.dumps(results_post(task_id, json.loads(flask.app.request.form['results'])))
return json.dumps(results_dict(task_id))
-@app.route('/tasks/<task_id>/setup.svg', methods=['GET'])
-def setup_svg(task_id):
- networks = db.networks.find({'task_id': task_id})
- computers = db.computers_meta.find({'task_id': task_id})
- return draw_setup(computers, networks)
+@app.route('/tasks/<task_id>/<lang>/setup.<ending>', methods=['GET'])
+def setup_svg(task_id, lang, ending):
+ db = g.db
+ fmt, mimetype = {
+ 'svg':('svg', 'image/svg+xml'),
+ 'png':('png', 'image/png'),
+ }[ending]
+ networks = list(db.networks.find({'task_id': task_id}))
+ computers = list(db.computers_meta.find({'task_id': task_id}))
+ return Response(draw_setup(computers, networks, format=fmt,
+ icon_path=app.config['STATIC_DIR']),
+ mimetype=mimetype)
@app.route('/tasks/<task_id>/<lang>/results.html')
def results_html(task_id, lang):