code: def parse_block(lines, header=False):  # type: (List[str], bool) -> List[str]
      
      block_lines = []
      while lines and lines[0] and (not header or lines[0].startswith('#')):
          block_lines.append(lines.pop(0))
      return block_lines
docs: Parse and return a single block, popping off the start of `lines`.
  
      If parsing a header block, we stop after we reach a line that is not a
      comment. Otherwise, we stop after reaching an empty line.
  
      :param lines: list of lines
      :param header: whether we are parsing a header block
      :return: list of lines that form the single block