1 # |
1 # |
2 # See LICENCE for detail |
2 # See LICENCE for detail |
3 # Copyright (c) 2014 IRI |
3 # Copyright (c) 2014 IRI |
4 # |
4 # |
5 |
5 |
6 from flask import render_template, jsonify, request |
6 import json |
|
7 |
|
8 from flask import render_template, jsonify, request, abort |
|
9 from jinja2 import Markup |
|
10 from sqlalchemy.orm import joinedload |
7 |
11 |
8 from webapp import app |
12 from webapp import app |
|
13 from database import db_session |
|
14 import models |
9 |
15 |
10 @app.route('/') |
16 @app.route('/') |
11 def page_home(): |
17 def page_home(): |
12 return render_template('index.html') |
18 return render_template('index.html') |
13 #return render_template('annotationclient.html', logging=True) |
19 #return render_template('annotationclient.html', logging=True) |
20 |
26 |
21 @app.route('/annotationclient') |
27 @app.route('/annotationclient') |
22 def page_annotationclient(): |
28 def page_annotationclient(): |
23 return render_template('annotationclient.html', logging=True) |
29 return render_template('annotationclient.html', logging=True) |
24 |
30 |
|
31 @app.route('/annotationclient/<event_code>') |
|
32 def page_annotationclient_event_code(event_code): |
|
33 #TODO: check event code + get event session |
|
34 event_query = db_session.query(models.Event).filter(models.Event.code==event_code) |
|
35 event = event_query.one() |
|
36 if not event: |
|
37 abort(404) |
|
38 |
|
39 #TODO: See why the relationship management does not work |
|
40 event_session_q = db_session.query(models.EventSession).filter(models.EventSession.event_id==event.id).order_by(models.EventSession.order.desc()) |
|
41 event_session = event_session_q.first() |
|
42 |
|
43 categories_json = None |
|
44 |
|
45 if event_session: |
|
46 categories_json = event_session.categories_json |
|
47 |
|
48 if not categories_json: |
|
49 categories_json = None |
|
50 |
|
51 return render_template('annotationclient.html', |
|
52 logging = True, |
|
53 event_code = event_code, |
|
54 categories_json = Markup(json.dumps(categories_json).replace('\'','\\\'')) if categories_json else None |
|
55 ) |
|
56 |
25 |
57 |
26 @app.route('/pianoroll') |
58 @app.route('/pianoroll') |
27 def page_pianoroll(): |
59 def page_pianoroll(): |
28 return render_template('pianoroll.html', logging=True) |
60 return render_template('pianoroll.html', logging=True) |
29 |
61 |