student_name = request.form['studentName']
button_value = request.form['buttonValue']
course = request.form['course']
+ print(button_value)
fn = f'../assessments/{course}/{course}.csv'
else:
answered = 'T'
- write_to_file(student_name, fn,
- answered=answered,
- assessment=button_value)
-
- return 'Received feedback from ' + student_name + ': ' + button_value
+ if button_value != 'get_next':
+ write_to_file(student_name, fn,
+ answered=answered,
+ assessment=button_value)
+ student = coldcall_student(course)
+ print(f'Sending {student}')
+ return student
@app.route("/coldcaller/<course>", methods=['POST','GET'])
def coldcaller(course):
- if course not in ["com_304","com_411","com_674"]:
- abort(404)
+ public = request.args.get('public')
+ print(public)
+ if request.method == "POST":
+ student = coldcall_student(course)
+ if not student:
+ abort(404)
+ else:
+ student = ''
+ return render_template('cold_caller.html', student=student, public=public)
+
+ def coldcall_student(course):
+ if course not in ["com_304","com_411","com_674", "amap"]:
+ return None
weight = 2
students = pd.read_csv(f'../assessments/{course}/{course}_students.csv').Name
- student = ''
out_fn = f'../assessments/{course}/{course}.csv'
caller = Caller(out_fn, students, weight)
- if request.method == "POST":
- student = caller.get_random_student()
- return render_template('cold_caller.html', student=student)
+ student = caller.get_random_student()
+ return student
@app.route("/shuffler", methods=['POST','GET'])
def shuffler():
self.absent_today = df.loc[(df.date==self.today) & (df.answered.isin(['F', 'FALSE'])), 'name']
except FileNotFoundError or IndexError:
times_called = pd.DataFrame()
+ self.absent_today = pd.DataFrame()
return times_called
def update_weight(self, student):
else:
curr_weights = self.weights_dict
for student in set(self.absent_today):
- print(curr_weights.keys())
- print(student in curr_weights)
if student != self.last_chosen:
del curr_weights[student]
rand_student = choices(list(curr_weights.keys()), weights=list(curr_weights.values()), k=1)[0]
$(document).ready(function() {
- $('#goodButton, #badButton, #neutralButton, #absentButton').on('click', function() {
+ $('#goodButton, #badButton, #neutralButton, #absentButton, #nextButton').on('click', function() {
var studentName = $('#studentName').text();
console.log(studentName);
var buttonValue = $(this).val();
course: courseCode
},
success: function(response) {
- console.log(response);
+ $('#studentName').text(response);
},
error: function(error) {
console.log(error);
<h2 id='studentName' name='studentName'>{{student}}</h2>
- <form method="post" id="todo-form">
- <button class='rand-button' type="submit">Get random student</button>
- </form>
+ {% if student != '' %}
+ {% if public is none %}
<button class='assessment' id="goodButton" value="G">Good</button>
<button class='assessment' id="badButton" value="B">Bad</button>
<button class='assessment' id="neutralButton" value="M">Neutral</button>
<button class='assessment' id="absentButton" value="absent">Absent</button>
+ <button class='assessment' id="nextButton" value="get_next">Skip</button>
+
+
+ {% else %}
+ <button class='assessment' id="neutralButton" value="?">Next Student</button>
+ <button class='assessment' id="absentButton" value="absent">Absent</button>
+ {% endif %}
+ {% else %}
+ <form method="post" id="todo-form">
+ <button class='rand-button' type="submit">Get random student</button>
+
+ </form>
+ {% endif %}
</body>
</html>