Merge remote-tracking branch 'flask_repo/main' into flask
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,2 +1,3 @@
|
|||||||
*~
|
*~
|
||||||
__pycache__
|
__pycache__
|
||||||
|
*.pyc
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ def response_quality():
|
|||||||
student_name = request.form['studentName']
|
student_name = request.form['studentName']
|
||||||
button_value = request.form['buttonValue']
|
button_value = request.form['buttonValue']
|
||||||
course = request.form['course']
|
course = request.form['course']
|
||||||
|
print(button_value)
|
||||||
|
|
||||||
fn = f'../assessments/{course}/{course}.csv'
|
fn = f'../assessments/{course}/{course}.csv'
|
||||||
|
|
||||||
@@ -28,24 +29,35 @@ def response_quality():
|
|||||||
else:
|
else:
|
||||||
answered = 'T'
|
answered = 'T'
|
||||||
|
|
||||||
|
if button_value != 'get_next':
|
||||||
write_to_file(student_name, fn,
|
write_to_file(student_name, fn,
|
||||||
answered=answered,
|
answered=answered,
|
||||||
assessment=button_value)
|
assessment=button_value)
|
||||||
|
student = coldcall_student(course)
|
||||||
return 'Received feedback from ' + student_name + ': ' + button_value
|
print(f'Sending {student}')
|
||||||
|
return student
|
||||||
|
|
||||||
@app.route("/coldcaller/<course>", methods=['POST','GET'])
|
@app.route("/coldcaller/<course>", methods=['POST','GET'])
|
||||||
def coldcaller(course):
|
def coldcaller(course):
|
||||||
if course not in ["com_304","com_411","com_674"]:
|
public = request.args.get('public')
|
||||||
|
print(public)
|
||||||
|
if request.method == "POST":
|
||||||
|
student = coldcall_student(course)
|
||||||
|
if not student:
|
||||||
abort(404)
|
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
|
weight = 2
|
||||||
students = pd.read_csv(f'../assessments/{course}/{course}_students.csv').Name
|
students = pd.read_csv(f'../assessments/{course}/{course}_students.csv').Name
|
||||||
student = ''
|
|
||||||
out_fn = f'../assessments/{course}/{course}.csv'
|
out_fn = f'../assessments/{course}/{course}.csv'
|
||||||
caller = Caller(out_fn, students, weight)
|
caller = Caller(out_fn, students, weight)
|
||||||
if request.method == "POST":
|
|
||||||
student = caller.get_random_student()
|
student = caller.get_random_student()
|
||||||
return render_template('cold_caller.html', student=student)
|
return student
|
||||||
|
|
||||||
@app.route("/shuffler", methods=['POST','GET'])
|
@app.route("/shuffler", methods=['POST','GET'])
|
||||||
def shuffler():
|
def shuffler():
|
||||||
@@ -112,6 +124,7 @@ class Caller:
|
|||||||
self.absent_today = df.loc[(df.date==self.today) & (df.answered.isin(['F', 'FALSE'])), 'name']
|
self.absent_today = df.loc[(df.date==self.today) & (df.answered.isin(['F', 'FALSE'])), 'name']
|
||||||
except FileNotFoundError or IndexError:
|
except FileNotFoundError or IndexError:
|
||||||
times_called = pd.DataFrame()
|
times_called = pd.DataFrame()
|
||||||
|
self.absent_today = pd.DataFrame()
|
||||||
return times_called
|
return times_called
|
||||||
|
|
||||||
def update_weight(self, student):
|
def update_weight(self, student):
|
||||||
@@ -123,8 +136,6 @@ class Caller:
|
|||||||
else:
|
else:
|
||||||
curr_weights = self.weights_dict
|
curr_weights = self.weights_dict
|
||||||
for student in set(self.absent_today):
|
for student in set(self.absent_today):
|
||||||
print(curr_weights.keys())
|
|
||||||
print(student in curr_weights)
|
|
||||||
if student != self.last_chosen:
|
if student != self.last_chosen:
|
||||||
del curr_weights[student]
|
del curr_weights[student]
|
||||||
rand_student = choices(list(curr_weights.keys()), weights=list(curr_weights.values()), k=1)[0]
|
rand_student = choices(list(curr_weights.keys()), weights=list(curr_weights.values()), k=1)[0]
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
$('#goodButton, #badButton, #neutralButton, #absentButton').on('click', function() {
|
$('#goodButton, #badButton, #neutralButton, #absentButton, #nextButton').on('click', function() {
|
||||||
var studentName = $('#studentName').text();
|
var studentName = $('#studentName').text();
|
||||||
console.log(studentName);
|
console.log(studentName);
|
||||||
var buttonValue = $(this).val();
|
var buttonValue = $(this).val();
|
||||||
@@ -13,7 +13,7 @@ $(document).ready(function() {
|
|||||||
course: courseCode
|
course: courseCode
|
||||||
},
|
},
|
||||||
success: function(response) {
|
success: function(response) {
|
||||||
console.log(response);
|
$('#studentName').text(response);
|
||||||
},
|
},
|
||||||
error: function(error) {
|
error: function(error) {
|
||||||
console.log(error);
|
console.log(error);
|
||||||
|
|||||||
@@ -13,17 +13,29 @@ The next student is:
|
|||||||
|
|
||||||
<h2 id='studentName' name='studentName'>{{student}}</h2>
|
<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="goodButton" value="G">Good</button>
|
||||||
<button class='assessment' id="badButton" value="B">Bad</button>
|
<button class='assessment' id="badButton" value="B">Bad</button>
|
||||||
<button class='assessment' id="neutralButton" value="M">Neutral</button>
|
<button class='assessment' id="neutralButton" value="M">Neutral</button>
|
||||||
<button class='assessment' id="absentButton" value="absent">Absent</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>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
Reference in New Issue
Block a user