Merge pull request #1709 from MITx/fix/cdodge/dont-compute-inherited-metadata-on-course-loads-with-depth-zero
if we're loading a course module with depth = 0, then we don't need to f...
This commit is contained in:
@@ -382,7 +382,7 @@ class MongoModuleStore(ModuleStoreBase):
|
||||
|
||||
return data
|
||||
|
||||
def _load_item(self, item, data_cache):
|
||||
def _load_item(self, item, data_cache, should_apply_metadata_inheritence=True):
|
||||
"""
|
||||
Load an XModuleDescriptor from item, using the children stored in data_cache
|
||||
"""
|
||||
@@ -394,7 +394,10 @@ class MongoModuleStore(ModuleStoreBase):
|
||||
|
||||
resource_fs = OSFS(root)
|
||||
|
||||
metadata_inheritance_tree = self.get_cached_metadata_inheritance_tree(Location(item['location']))
|
||||
metadata_inheritance_tree = None
|
||||
|
||||
if should_apply_metadata_inheritence:
|
||||
metadata_inheritance_tree = self.get_cached_metadata_inheritance_tree(Location(item['location']))
|
||||
|
||||
# TODO (cdodge): When the 'split module store' work has been completed, we should remove
|
||||
# the 'metadata_inheritance_tree' parameter
|
||||
@@ -416,7 +419,10 @@ class MongoModuleStore(ModuleStoreBase):
|
||||
"""
|
||||
data_cache = self._cache_children(items, depth)
|
||||
|
||||
return [self._load_item(item, data_cache) for item in items]
|
||||
# if we are loading a course object, if we're not prefetching children (depth != 0) then don't
|
||||
# bother with the metadata inheritence
|
||||
return [self._load_item(item, data_cache,
|
||||
should_apply_metadata_inheritence=(item['location']['category'] != 'course' or depth != 0)) for item in items]
|
||||
|
||||
def get_courses(self):
|
||||
'''
|
||||
|
||||
Reference in New Issue
Block a user