-
Notifications
You must be signed in to change notification settings - Fork 0
/
interview.py
143 lines (107 loc) · 5.23 KB
/
interview.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
import subprocess
from model import User
from Quiz import quiz
from dbase import db
from Admin import admin_user
from flask import *
import datetime
import time
app = Flask(__name__)
app.secret_key = 'something simple for now'
db_user = db(app)
@app.route('/admin', methods=['POST', 'GET'])
def admin():
if request.method == 'GET':
return render_template('admin.html')
elif request.method == 'POST':
adm=admin_user()
session['quiz_id'] = request.form.get('quiznum')
session['username'] = request.form['username']
session['user_matric'] = request.form['userid']
if request.form['adminname'] != adm.getUsername() or request.form['adminpwd'] != adm.getPwd() :
flash("wrong username or password", "error")
return render_template("admin.html")
if request.form['submit'] == 'record':
if (not request.form.get('quiznum') or not request.form.get('userid') or not request.form.get('username')):
flash("enter quiz and user details to record","error")
return render_template("admin.html")
else:
session["record"]= True
elif request.form['submit'] == 'playback':
session["record"] = False
session['date'] = request.form.get('date', None)
session['startq'] = request.form.get('startq', None)
session['endq'] = request.form.get('endq', None)
return redirect(url_for('index'))
@app.route('/', methods=['POST', 'GET'])
def index():
if request.method == 'GET':
if(session["record"]==False):
return render_template("start.html",value=session['username'])
else:
return render_template('main.html',value=session['username'])
elif request.method == 'POST':
quiz_user=quiz()
session['ques']= quiz_user.getQuestions( session['quiz_id'])
session['quesid'] = quiz_user.getQuestionId(session['quiz_id'])
user = User(session['username'], session['user_matric'])
session["current_question"] = "0"
if(session["record"]==True):
session["dir"]=user.createDir(session['quiz_id'])
session["logfile"] = user.setLogfile(session['quiz_id'])
file= session["dir"]+"/"+session["logfile"]
db_user.database_insert(user, session['quiz_id'],file)
user.record(session['quiz_id'])
elif (session["record"]==False):
session["current_question"] = str(int(session['startq'])-1)
log = db_user.getFilepath(session['user_matric'], session['quiz_id'], session['date'])
firstime = db_user.getQuesStartTime(session['user_matric'], session['quiz_id'], 1)
start = db_user.getQuesStartTime(session['user_matric'], session['quiz_id'], session['startq'])
end = db_user.getQuesEndTime(session['user_matric'], session['quiz_id'], session['endq'])
starttime = str(int(start) - int(firstime))
endtime = str(int(end) - int(firstime))
user.playback(log,starttime,endtime)
return redirect(url_for('question'))
@app.route('/question', methods=['POST', 'GET'])
def question():
if request.method== 'GET':
session["start_ques"] = str(int(round(time.time() * 1000)) )
#if "current_question" not in session:
if int(session["current_question"]) >= len(session['ques']):
if(session['record']==True):
db_user.setCompleted(session['user_matric'],session['quiz_id'])
return render_template("success.html")
elif (session['record']==False and (int(session["current_question"]))>(int(session['endq'])-1)):
return render_template("success.html")
return render_template(session['ques'][int(session["current_question"])])
elif request.method == 'POST':
ans= str(request.form['test'])
session["end_ques"] = str(int(round(time.time() * 1000)))
if(session['record'])==True:
db_user.insert_ans(session['user_matric'],session["quesid"][int(session["current_question"])],ans,session["start_ques"],session["end_ques"],(session['quiz_id']))
session["current_question"]= str(int(session["current_question"])+1)
return redirect(url_for('question'))
@app.route('/coord', methods=['POST', 'GET'])
def trial():
id = request.form['id']
typ= request.form['type']
ques = request.form['ques']
yes = request.form['yes']
no = request.form['no']
maybe = request.form['maybe']
audio = request.form['audio']
video = request.form['video']
image = request.form['image']
rate = request.form['rate']
text = request.form['text']
sub = request.form['sub']
viddur= request.form['viddur']
auddur = request.form['auddur']
if(session['record'])==True:
if(not db_user.quesExist(id,typ)):
db_user.insert_text_option(id,typ,ques,yes,no,maybe,rate,text,image,audio,video,sub,auddur,viddur)
else:
db_user.updateQues(id,typ,ques,yes,no,maybe,rate,text,image,audio,video,sub,auddur,viddur)
return render_template("trial.html")
if __name__ == '__main__':
app.run()