code: def vertical_is_complete(self, item):
          
          if item.location.block_type != 'vertical':
              raise ValueError('The passed in xblock is not a vertical type!')
  
          if not self.completion_tracking_enabled():
              return None
  
          # this is temporary local logic and will be removed when the whole course tree is included in completion
          child_locations = [
              child.location for child in item.get_children() if child.location.block_type != 'discussion'
          ]
          completions = self.get_completions(child_locations)
          for child_location in child_locations:
              if completions[child_location] < 1.0:
                  return False
          return True
docs: Calculates and returns whether a particular vertical is complete.
          The logic in this method is temporary, and will go away once the
          completion API is able to store a first-order notion of completeness
          for parent blocks (right now it just stores completion for leaves-
          problems, HTML, video, etc.).