summaryrefslogtreecommitdiff
path: root/kpov_judge/web/kpov_judge/kpov_judge.py
diff options
context:
space:
mode:
Diffstat (limited to 'kpov_judge/web/kpov_judge/kpov_judge.py')
-rwxr-xr-xkpov_judge/web/kpov_judge/kpov_judge.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/kpov_judge/web/kpov_judge/kpov_judge.py b/kpov_judge/web/kpov_judge/kpov_judge.py
index b832007..2231db0 100755
--- a/kpov_judge/web/kpov_judge/kpov_judge.py
+++ b/kpov_judge/web/kpov_judge/kpov_judge.py
@@ -250,7 +250,11 @@ def task_greeting(class_id, task_id, lang):
# instructions = instructions.format(**public_params).encode('utf8')
except Exception as e:
instructions = str(e)
- computer_list = db.student_computers.find({'class_id': class_id, 'task_id': task_id, 'student_id': student_id})
+ computer_list = list(db.student_computers.find({'class_id': class_id, 'task_id': task_id, 'student_id': student_id}))
+ backing_images = set()
+ for computer in computer_list:
+ for disk_url in computer.get('disk_urls', []):
+ backing_images |= set(disk_url['backing'])
if request.args.get('narediStack', 'false') == 'true':
#db.student_tasks.update({'task_id': task_id, 'student_id': student_id}, {'$set': {'create_openstack': True}}, upsert = True)
openstackCreated = False # Spremeni na True, ko odkomentiras zgornjo vrstico.
@@ -261,7 +265,13 @@ def task_greeting(class_id, task_id, lang):
openstackCreated = True
else:
openstackCreated = False
- return render_template('task_greeting.html', computers=computer_list, lang=lang, openstack=openstackCreated, instructions=instructions)
+ return render_template('task_greeting.html',
+ disk_base_url='/'.join([app.config['STUDENT_DISK_URL'], student_id, class_id, task_id, '']),
+ computers=computer_list,
+ backing_images=sorted(backing_images),
+ lang=lang,
+ openstack=openstackCreated,
+ instructions=instructions)
@app.route('/tasks/<class_id>/<task_id>/params.json', methods=['GET', 'POST'])