From bbd52e05a2c791c22954a266f7699a5c11aee0f0 Mon Sep 17 00:00:00 2001 From: Adam Palay Date: Wed, 17 Jul 2013 14:33:16 -0400 Subject: [PATCH] converts user objects to unicode, improve error logging --- lms/djangoapps/instructor/views.py | 41 ++++++++++++++++++------------ 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/lms/djangoapps/instructor/views.py b/lms/djangoapps/instructor/views.py index b2f81639c9..77150c9f71 100644 --- a/lms/djangoapps/instructor/views.py +++ b/lms/djangoapps/instructor/views.py @@ -320,12 +320,16 @@ def instructor_dashboard(request, course_id): if student is not None: # find the module in question try: - student_module = StudentModule.objects.get(student_id=student.id, - course_id=course_id, - module_state_key=module_state_key) + student_module = StudentModule.objects.get( + student_id=student.id, + course_id=course_id, + module_state_key=module_state_key + ) msg += "Found module. " - except StudentModule.DoesNotExist: + except StudentModule.DoesNotExist as err: msg += "Couldn't find module with that urlname. " + msg += "Error: {0} ".format(err.message) + log.exception(msg) if student_module is not None: if "Delete student state for module" in action: @@ -335,8 +339,10 @@ def instructor_dashboard(request, course_id): msg += "Deleted student module state for %s!" % module_state_key event = {"problem": problem_url, "student": unique_student_identifier, "course": course_id} track.views.server_track(request, "delete-student-module-state", event, page="idashboard") - except: - msg += "Failed to delete module state for %s/%s" % (unique_student_identifier, problem_urlname) + except Exception as err: + msg += "Failed to delete module state for {0}/{1} ".format(unique_student_identifier, problem_urlname) + msg += "Error: {0} ".format(err.message) + log.exception(msg) elif "Reset student's attempts" in action: # modify the problem's state try: @@ -344,19 +350,22 @@ def instructor_dashboard(request, course_id): problem_state = json.loads(student_module.state) old_number_of_attempts = problem_state["attempts"] problem_state["attempts"] = 0 - # save student_module.state = json.dumps(problem_state) student_module.save() - event = {"old_attempts": old_number_of_attempts, - "student": student, - "problem": student_module.module_state_key, - "instructor": request.user, - "course": course_id} + event = { + "old_attempts": old_number_of_attempts, + "student": unicode(student), + "problem": student_module.module_state_key, + "instructor": unicode(request.user), + "course": course_id + } track.views.server_track(request, "reset-student-attempts", event, page="idashboard") msg += "Module state successfully reset!" - except: + except Exception as err: msg += "Couldn't reset module state. " + msg += "Error: {0} ".format(err.message) + log.exception(msg) else: # "Rescore student's problem submission" case try: @@ -365,9 +374,9 @@ def instructor_dashboard(request, course_id): msg += 'Failed to create a background task for rescoring "{0}" for student {1}.'.format(module_state_key, unique_student_identifier) else: track.views.server_track(request, "rescore-student-submission", {"problem": module_state_key, "student": unique_student_identifier, "course": course_id}, page="idashboard") - except Exception as e: - log.exception("Encountered exception from rescore: {0}") - msg += 'Failed to create a background task for rescoring "{0}": {1}.'.format(module_state_key, e.message) + except Exception as err: + msg += 'Failed to create a background task for rescoring "{0}": {1}.'.format(module_state_key, err.message) + log.exception(msg) elif "Get link to student's progress page" in action: unique_student_identifier = request.POST.get('unique_student_identifier', '')