Graduate

Update flask

...@@ -128,15 +128,15 @@ def verify(): ...@@ -128,15 +128,15 @@ def verify():
128 if verified_id != None: 128 if verified_id != None:
129 sql = "SELECT DATE(attendance_time) FROM student_attendance WHERE (lecture_id=%s) AND (student_id=%s) AND (DATE(attendance_time) = CURDATE());" 129 sql = "SELECT DATE(attendance_time) FROM student_attendance WHERE (lecture_id=%s) AND (student_id=%s) AND (DATE(attendance_time) = CURDATE());"
130 cursor.execute(sql, ('0', verified_id)) 130 cursor.execute(sql, ('0', verified_id))
131 + sql = "SELECT student_name FROM student WHERE student_id = %s"
132 + cursor.execute(sql, (verified_id))
133 + row_data = cursor.fetchone()
134 + verified_name = row_data['student_name']
131 if cursor.rowcount == 0: 135 if cursor.rowcount == 0:
132 sql = "INSERT INTO student_attendance(lecture_id, student_id, status) VALUES (%s, %s, %s)" 136 sql = "INSERT INTO student_attendance(lecture_id, student_id, status) VALUES (%s, %s, %s)"
133 # TODO: attend / late 처리 137 # TODO: attend / late 처리
134 cursor.execute(sql, ('0', verified_id, 'attend')) 138 cursor.execute(sql, ('0', verified_id, 'attend'))
135 attendance_db.commit() 139 attendance_db.commit()
136 - sql = "SELECT student_name FROM student WHERE student_id = %s"
137 - cursor.execute(sql, (verified_id))
138 - row_data = cursor.fetchone()
139 - verified_name = row_data['student_name']
140 # log 작성 140 # log 작성
141 msg='[{id}] verification success'.format(id=verified_id) 141 msg='[{id}] verification success'.format(id=verified_id)
142 print(msg) 142 print(msg)
...@@ -144,7 +144,7 @@ def verify(): ...@@ -144,7 +144,7 @@ def verify():
144 else: 144 else:
145 msg='[{id}] verification failed: already verified'.format(id=verified_id) 145 msg='[{id}] verification failed: already verified'.format(id=verified_id)
146 print(msg) 146 print(msg)
147 - send = jsonify({'status': 'already', 'student_id': verified_id}) 147 + send = jsonify({'status': 'already', 'student_id': verified_id, 'student_name': verified_name})
148 else: 148 else:
149 # 인증 실패 149 # 인증 실패
150 msg='[0000000000] verification failed' 150 msg='[0000000000] verification failed'
......
...@@ -105,6 +105,7 @@ function processVideo() { ...@@ -105,6 +105,7 @@ function processVideo() {
105 let msize = new cv.Size(120, 120); 105 let msize = new cv.Size(120, 120);
106 classifier.detectMultiScale(gray, faces, 1.1, 3, 0, msize); 106 classifier.detectMultiScale(gray, faces, 1.1, 3, 0, msize);
107 // draw faces. 107 // draw faces.
108 + console.log('draw faces');
108 for (let i = 0; i < faces.size(); ++i) { 109 for (let i = 0; i < faces.size(); ++i) {
109 let face = faces.get(i); 110 let face = faces.get(i);
110 let point1 = new cv.Point(face.x, face.y); 111 let point1 = new cv.Point(face.x, face.y);
...@@ -115,18 +116,26 @@ function processVideo() { ...@@ -115,18 +116,26 @@ function processVideo() {
115 cropped = src.roi(rect); 116 cropped = src.roi(rect);
116 let tempCanvas = document.createElement("canvas"); 117 let tempCanvas = document.createElement("canvas");
117 cv.imshow(tempCanvas,cropped); 118 cv.imshow(tempCanvas,cropped);
119 + console.log('b64encode');
118 if (tracker.register(face.x, face.y, face.width, face.height, Date.now())){ 120 if (tracker.register(face.x, face.y, face.width, face.height, Date.now())){
119 let b64encoded = tempCanvas.toDataURL("image/jpeg", 1.0); 121 let b64encoded = tempCanvas.toDataURL("image/jpeg", 1.0);
120 b64encoded = b64encoded.replace('data:image/jpeg;base64,', '') 122 b64encoded = b64encoded.replace('data:image/jpeg;base64,', '')
123 + console.log('ajax post');
121 $.ajax({ 124 $.ajax({
122 type: "POST", 125 type: "POST",
123 url: "/verify", 126 url: "/verify",
124 dataType: "json", 127 dataType: "json",
125 data: {'image':b64encoded}, 128 data: {'image':b64encoded},
126 success: function(data){ 129 success: function(data){
127 - if (data.status == "success"){ 130 + if (data.status == "attend"){
128 var newDiv = document.createElement("div"); 131 var newDiv = document.createElement("div");
129 - var newContent = document.createTextNode("출석"); 132 + var newContent = document.createTextNode('[' + data.student_id + '/' + data.student_name + ']' + "출석");
133 + newDiv.appendChild(newContent);
134 + document.body.appendChild(newDiv);
135 + }
136 + else if (data.status == "already"){
137 + var newDiv = document.createElement("div");
138 + var newContent = document.createTextNode('[' + data.student_id + '/' + data.student_name + ']' + "이미 출석처리 되었습니다.");
130 newDiv.appendChild(newContent); 139 newDiv.appendChild(newContent);
131 document.body.appendChild(newDiv); 140 document.body.appendChild(newDiv);
132 } 141 }
......