-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathcosmoquiz_app.py
144 lines (110 loc) · 3.83 KB
/
cosmoquiz_app.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
# all the imports
#from __future__ import with_statement
#from contextlib import closing
from flask import Flask, request, session, make_response, g, redirect, url_for, abort, render_template, flash
import random
import os
import csv
import re
import blurbs
import results as r
import config
from models import *
from datetime import datetime
# configuration
#DATABASE = '/tmp/badges.db'
#USERNAME = 'admin'
#PASSWORD = 'default'
#SERVER_NAME = 'http://www.dancesportlife.com/cosmoquiz/'
#ROOT_PATH = '/home5/dancespo/public_html/cosmoquiz/'
#DEBUG = True
#SECRET_KEY = '\xb7Fr\xbd7TQ\x7f9]\xafr\xf0\xa9\xe70Q\xbcY\xe8\xe8\x00v\xa6'
#CSRF_ENABLED = True
# create application
app = Flask(__name__.split('.')[0])
app.config.from_object(__name__)
#app.config.from_object('config.DevelopmentConfig')
app.config.from_object('config.ProductionConfig')
#app.config.from_envvar('FLASKR_SETTINGS', silent=True)
#app.config['SQLALCHEMY_DATABASE_URI'] = os.environ['DATABASE_URL']
#app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////tmp/badges.db'
@app.route('/index')
@app.route('/')
def start():
if ( ('results_computed' in session) and (session['results_computed']) ):
return (render_template('results.html',
blurb = blurbs.pick_blurb(session['skill_score_ndx_max'],session['self_id_score_ndx_max']),
skill=session['skill_label'],
skill_color = r.skill_colors(session['skill_score_ndx_max']),
selflabel=session['self_label'],
self_id_color = r.self_id_colors(session['self_id_score_ndx_max'])
))
else:
session['user_id'] = str(random.randint(1, 999999))
if app.config['DEBUG']:
print(session['user_id'])
return (render_template('index.html'))
@app.route('/q1')
def q1():
if app.config['DEBUG']:
print(session['user_id'])
return (render_template('question1.html'))
@app.route('/q2', methods=['post'])
def q2():
data = request.form
q1 = data.getlist('id_name',type=float)
session['q1']= q1
return (render_template('question2.html'))
@app.route('/surveydetails')
def surveydetails():
return (render_template('surveydetails.html'))
@app.route('/faq')
def faq():
return (render_template('faq.html'))
@app.route('/results', methods=['post'])
def results():
session['q2'] = [ float(request.form['scientist']),
float(request.form['engineer']),
float(request.form['bp']),
float(request.form['artist']),
float(request.form['researcher']),
float(request.form['stats']),
float(request.form['jack']),
float(request.form['leader']),
float(request.form['ent']),
float(request.form['dev']),
float(request.form['ds']) ]
#Inserting database write instead of dump to file
result = Result(str(session['q1']).strip('[]'), str(session['q2']).strip('[]'), session['user_id'], datetime.utcnow(),str(request.remote_addr))
#UPDATE THIS!
db.session.add(result)
db.session.commit()
#need to compute results to display, everything stored in session
r.compute_results(session, app.config['DEBUG'])
session['results_computed'] = True
#need to return a block of text to
if app.config['DEBUG']:
print "++++++++"
print session['skill_label']
print session['self_label']
print session.keys(), '\n'
print request.remote_addr
print datetime.utcnow()
return (render_template('results.html',
blurb = blurbs.pick_blurb(session['skill_score_ndx_max'],session['self_id_score_ndx_max']),
skill=session['skill_label'],
skill_color = r.skill_colors(session['skill_score_ndx_max']),
selflabel=session['self_label'],
self_id_color = r.self_id_colors(session['self_id_score_ndx_max'])
))
@app.route('/reset')
def reset():
for key in session.keys():
del(session[key])
session['results_computed'] = False
if app.config['DEBUG']:
print session.keys()
return (start())
if __name__ == '__main__':
port = int(os.environ.get('PORT', 5000))
app.run(host='0.0.0.0', port=port)