author | ymh <ymh.work@gmail.com> |
Sun, 19 Oct 2014 12:52:38 +0200 | |
changeset 42 | 926f0426ce78 |
parent 28 | 6025b8470d18 |
child 43 | e27c3c1c57f1 |
permissions | -rw-r--r-- |
22
986ee928a866
add sqlalchemy model + put create module for webapp
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1 |
# |
986ee928a866
add sqlalchemy model + put create module for webapp
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2 |
# See LICENCE for detail |
986ee928a866
add sqlalchemy model + put create module for webapp
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3 |
# Copyright (c) 2014 IRI |
986ee928a866
add sqlalchemy model + put create module for webapp
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4 |
# |
986ee928a866
add sqlalchemy model + put create module for webapp
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5 |
|
42
926f0426ce78
add event + event session + admin + category json management. Must rebuild database
ymh <ymh.work@gmail.com>
parents:
28
diff
changeset
|
6 |
import json |
926f0426ce78
add event + event session + admin + category json management. Must rebuild database
ymh <ymh.work@gmail.com>
parents:
28
diff
changeset
|
7 |
|
926f0426ce78
add event + event session + admin + category json management. Must rebuild database
ymh <ymh.work@gmail.com>
parents:
28
diff
changeset
|
8 |
from flask import render_template, jsonify, request, abort |
926f0426ce78
add event + event session + admin + category json management. Must rebuild database
ymh <ymh.work@gmail.com>
parents:
28
diff
changeset
|
9 |
from jinja2 import Markup |
926f0426ce78
add event + event session + admin + category json management. Must rebuild database
ymh <ymh.work@gmail.com>
parents:
28
diff
changeset
|
10 |
from sqlalchemy.orm import joinedload |
22
986ee928a866
add sqlalchemy model + put create module for webapp
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
11 |
|
986ee928a866
add sqlalchemy model + put create module for webapp
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
12 |
from webapp import app |
42
926f0426ce78
add event + event session + admin + category json management. Must rebuild database
ymh <ymh.work@gmail.com>
parents:
28
diff
changeset
|
13 |
from database import db_session |
926f0426ce78
add event + event session + admin + category json management. Must rebuild database
ymh <ymh.work@gmail.com>
parents:
28
diff
changeset
|
14 |
import models |
22
986ee928a866
add sqlalchemy model + put create module for webapp
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
15 |
|
986ee928a866
add sqlalchemy model + put create module for webapp
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
16 |
@app.route('/') |
986ee928a866
add sqlalchemy model + put create module for webapp
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
17 |
def page_home(): |
986ee928a866
add sqlalchemy model + put create module for webapp
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
18 |
return render_template('index.html') |
986ee928a866
add sqlalchemy model + put create module for webapp
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
19 |
#return render_template('annotationclient.html', logging=True) |
986ee928a866
add sqlalchemy model + put create module for webapp
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
20 |
|
986ee928a866
add sqlalchemy model + put create module for webapp
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
21 |
|
986ee928a866
add sqlalchemy model + put create module for webapp
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
22 |
@app.route('/annot') |
986ee928a866
add sqlalchemy model + put create module for webapp
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
23 |
def page_annot(): |
986ee928a866
add sqlalchemy model + put create module for webapp
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
24 |
return render_template('annot.html') |
986ee928a866
add sqlalchemy model + put create module for webapp
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
25 |
|
986ee928a866
add sqlalchemy model + put create module for webapp
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
26 |
|
986ee928a866
add sqlalchemy model + put create module for webapp
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
27 |
@app.route('/annotationclient') |
986ee928a866
add sqlalchemy model + put create module for webapp
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
28 |
def page_annotationclient(): |
986ee928a866
add sqlalchemy model + put create module for webapp
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
29 |
return render_template('annotationclient.html', logging=True) |
986ee928a866
add sqlalchemy model + put create module for webapp
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
30 |
|
42
926f0426ce78
add event + event session + admin + category json management. Must rebuild database
ymh <ymh.work@gmail.com>
parents:
28
diff
changeset
|
31 |
@app.route('/annotationclient/<event_code>') |
926f0426ce78
add event + event session + admin + category json management. Must rebuild database
ymh <ymh.work@gmail.com>
parents:
28
diff
changeset
|
32 |
def page_annotationclient_event_code(event_code): |
926f0426ce78
add event + event session + admin + category json management. Must rebuild database
ymh <ymh.work@gmail.com>
parents:
28
diff
changeset
|
33 |
#TODO: check event code + get event session |
926f0426ce78
add event + event session + admin + category json management. Must rebuild database
ymh <ymh.work@gmail.com>
parents:
28
diff
changeset
|
34 |
event_query = db_session.query(models.Event).filter(models.Event.code==event_code) |
926f0426ce78
add event + event session + admin + category json management. Must rebuild database
ymh <ymh.work@gmail.com>
parents:
28
diff
changeset
|
35 |
event = event_query.one() |
926f0426ce78
add event + event session + admin + category json management. Must rebuild database
ymh <ymh.work@gmail.com>
parents:
28
diff
changeset
|
36 |
if not event: |
926f0426ce78
add event + event session + admin + category json management. Must rebuild database
ymh <ymh.work@gmail.com>
parents:
28
diff
changeset
|
37 |
abort(404) |
926f0426ce78
add event + event session + admin + category json management. Must rebuild database
ymh <ymh.work@gmail.com>
parents:
28
diff
changeset
|
38 |
|
926f0426ce78
add event + event session + admin + category json management. Must rebuild database
ymh <ymh.work@gmail.com>
parents:
28
diff
changeset
|
39 |
#TODO: See why the relationship management does not work |
926f0426ce78
add event + event session + admin + category json management. Must rebuild database
ymh <ymh.work@gmail.com>
parents:
28
diff
changeset
|
40 |
event_session_q = db_session.query(models.EventSession).filter(models.EventSession.event_id==event.id).order_by(models.EventSession.order.desc()) |
926f0426ce78
add event + event session + admin + category json management. Must rebuild database
ymh <ymh.work@gmail.com>
parents:
28
diff
changeset
|
41 |
event_session = event_session_q.first() |
926f0426ce78
add event + event session + admin + category json management. Must rebuild database
ymh <ymh.work@gmail.com>
parents:
28
diff
changeset
|
42 |
|
926f0426ce78
add event + event session + admin + category json management. Must rebuild database
ymh <ymh.work@gmail.com>
parents:
28
diff
changeset
|
43 |
categories_json = None |
926f0426ce78
add event + event session + admin + category json management. Must rebuild database
ymh <ymh.work@gmail.com>
parents:
28
diff
changeset
|
44 |
|
926f0426ce78
add event + event session + admin + category json management. Must rebuild database
ymh <ymh.work@gmail.com>
parents:
28
diff
changeset
|
45 |
if event_session: |
926f0426ce78
add event + event session + admin + category json management. Must rebuild database
ymh <ymh.work@gmail.com>
parents:
28
diff
changeset
|
46 |
categories_json = event_session.categories_json |
926f0426ce78
add event + event session + admin + category json management. Must rebuild database
ymh <ymh.work@gmail.com>
parents:
28
diff
changeset
|
47 |
|
926f0426ce78
add event + event session + admin + category json management. Must rebuild database
ymh <ymh.work@gmail.com>
parents:
28
diff
changeset
|
48 |
if not categories_json: |
926f0426ce78
add event + event session + admin + category json management. Must rebuild database
ymh <ymh.work@gmail.com>
parents:
28
diff
changeset
|
49 |
categories_json = None |
926f0426ce78
add event + event session + admin + category json management. Must rebuild database
ymh <ymh.work@gmail.com>
parents:
28
diff
changeset
|
50 |
|
926f0426ce78
add event + event session + admin + category json management. Must rebuild database
ymh <ymh.work@gmail.com>
parents:
28
diff
changeset
|
51 |
return render_template('annotationclient.html', |
926f0426ce78
add event + event session + admin + category json management. Must rebuild database
ymh <ymh.work@gmail.com>
parents:
28
diff
changeset
|
52 |
logging = True, |
926f0426ce78
add event + event session + admin + category json management. Must rebuild database
ymh <ymh.work@gmail.com>
parents:
28
diff
changeset
|
53 |
event_code = event_code, |
926f0426ce78
add event + event session + admin + category json management. Must rebuild database
ymh <ymh.work@gmail.com>
parents:
28
diff
changeset
|
54 |
categories_json = Markup(json.dumps(categories_json).replace('\'','\\\'')) if categories_json else None |
926f0426ce78
add event + event session + admin + category json management. Must rebuild database
ymh <ymh.work@gmail.com>
parents:
28
diff
changeset
|
55 |
) |
926f0426ce78
add event + event session + admin + category json management. Must rebuild database
ymh <ymh.work@gmail.com>
parents:
28
diff
changeset
|
56 |
|
22
986ee928a866
add sqlalchemy model + put create module for webapp
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
57 |
|
28 | 58 |
@app.route('/pianoroll') |
59 |
def page_pianoroll(): |
|
60 |
return render_template('pianoroll.html', logging=True) |
|
61 |
||
62 |
||
22
986ee928a866
add sqlalchemy model + put create module for webapp
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
63 |
@app.route('/api/test', methods=['PUT', 'POST']) |
986ee928a866
add sqlalchemy model + put create module for webapp
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
64 |
def new(): |
986ee928a866
add sqlalchemy model + put create module for webapp
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
65 |
return jsonify(request.get_json(force=False)) |