From 871f3bfb7eac6074abe94d74c5517d879258358e Mon Sep 17 00:00:00 2001
From: DawoudSheraz <dawoud.sheraz@arbisoft.com>
Date: Tue, 26 Nov 2019 17:14:14 +0500
Subject: [PATCH] conditional logs to find the inconsistent block id in MITx
 course

---
 openedx/features/course_experience/utils.py | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/openedx/features/course_experience/utils.py b/openedx/features/course_experience/utils.py
index 9b7842ada64..92bfb17a809 100644
--- a/openedx/features/course_experience/utils.py
+++ b/openedx/features/course_experience/utils.py
@@ -3,6 +3,8 @@ Common utilities for the course experience, including course outline.
 """
 from __future__ import absolute_import
 
+import logging
+
 from completion.models import BlockCompletion
 from django.utils.translation import ugettext as _
 from opaque_keys.edx.keys import CourseKey
@@ -22,6 +24,8 @@ from openedx.features.discounts.applicability import (
 from openedx.features.discounts.utils import format_strikeout_price
 from xmodule.modulestore.django import modulestore
 
+log = logging.getLogger(__name__)
+
 
 @request_cached()
 def get_course_outline_block_tree(request, course_id, user=None):
@@ -44,7 +48,16 @@ def get_course_outline_block_tree(request, course_id, user=None):
 
         for i in range(len(children)):
             child_id = block['children'][i]
-            child_detail = populate_children(all_blocks[child_id], all_blocks)
+            try:
+                child_detail = populate_children(all_blocks[child_id], all_blocks)
+            except TypeError:
+                if u"MITx+6.002x+MITx_2012_Alumni" in course_outline_root_block[id]:
+                    log.info(u"PopulateChildrenError for Child: {child} in block:{block} at index:{index}".format(
+                        child=child_id,
+                        block=block['id'],
+                        index=i
+                    ))
+                raise
             block['children'][i] = child_detail
 
         return block
-- 
GitLab