def delete_student(id): from grading.models import delete_student_model try: set_lock('student'+str(id)) if not delete_student_model(id): return 'student not found', status.HTTP_404_NOT_FOUND finally: release_lock('student'+str(id)) return '', status.HTTP_204_NO_CONTENT
def delete_grade(student, course): from grading.models import delete_grade_model try: set_lock('grade'+str(student)+str(course)) if not delete_grade_model(student, course): return 'grade not found', status.HTTP_404_NOT_FOUND finally: release_lock('grade'+str(student)+str(course)) return '', status.HTTP_204_NO_CONTENT
def delete_course(id): from grading.models import delete_course_model try: set_lock('course'+str(id)) if not delete_course_model(id): return 'course not found', status.HTTP_404_NOT_FOUND finally: release_lock('course'+str(id)) return '', status.HTTP_204_NO_CONTENT
def update_student(id): from grading.models import update_student_model student_data = request.get_json() email = student_data.get('email') if email: message = validate_email(email) if message: return message, status.HTTP_400_BAD_REQUEST try: set_lock('student'+str(id)) if not update_student_model(id, student_data): return 'student not found', status.HTTP_404_NOT_FOUND finally: release_lock('student'+str(id)) result = {'id': id} return json.dumps(result), status.HTTP_200_OK
def update_grade(): from grading.models import update_grade_model grade_data = request.get_json() grade = grade_data.get('grade') student = grade_data.get('student') course = grade_data.get('course') validate_message = validate_grade(grade, student, course) if validate_message: return validate_message, status.HTTP_400_BAD_REQUEST try: set_lock('grade'+str(student)+str(course)) if not update_grade_model(student, course, {'grade': grade}): return 'grade not found', status.HTTP_404_NOT_FOUND finally: release_lock('grade'+str(student)+str(course)) return '', status.HTTP_200_OK
def update_course(id): from grading.models import update_course_model course_data = request.get_json() students = course_data.get('students') if students: message = validate_students(students) if message: return message, status.HTTP_400_BAD_REQUEST try: set_lock('course'+str(id)) if not update_course_model(id, course_data): return 'course not found', status.HTTP_404_NOT_FOUND finally: release_lock('course'+str(id)) result = {'id': id} return json.dumps(result), status.HTTP_200_OK