From 633a3a5dfd1cfa514521cafc804d470f599a7a5d Mon Sep 17 00:00:00 2001 From: rabiaiftikhar Date: Wed, 14 Nov 2018 18:49:44 +0500 Subject: [PATCH] EDUCATOR-3615 make code defensive if self.child is None in log_child_render method --- common/lib/xmodule/xmodule/split_test_module.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/common/lib/xmodule/xmodule/split_test_module.py b/common/lib/xmodule/xmodule/split_test_module.py index 85cdf2c4b8..7040ce6de8 100644 --- a/common/lib/xmodule/xmodule/split_test_module.py +++ b/common/lib/xmodule/xmodule/split_test_module.py @@ -333,8 +333,18 @@ class SplitTestModule(SplitTestFields, XModule, StudioEditableModule): Record in the tracking logs which child was rendered """ # TODO: use publish instead, when publish is wired to the tracking logs - self.system.track_function('xblock.split_test.child_render', {'child_id': text_type(self.child.scope_ids.usage_id)}) - return Response() + try: + child_id = text_type(self.child.scope_ids.usage_id) + except Exception: + log.info( + "Can't get usage_id of Nonetype object in course {course_key}".format( + course_key=unicode(self.location.course_key) + ) + ) + raise + else: + self.system.track_function('xblock.split_test.child_render', {'child_id': child_id}) + return Response() def get_icon_class(self): return self.child.get_icon_class() if self.child else 'other'