'Loop through all the blocks locators in the block structure, and
retrieve the module (XModule or XBlock) associated with that locator.
For implementation reasons, we need to pull the max_score from the
XModule, even though the data is not user specific.  Here we bind the
data to a SystemUser.'

@staticmethod
def _iter_scorable_xmodules(block_structure):

    for block_locator in block_structure.post_order_traversal():
        block = block_structure.get_xblock(block_locator)
        if getattr(block, 'has_score', False):
            (yield block)
