code: def read_header(ofile):
      """Read the header of the iterable ofile."""
      i = next(ofile)
  
      # Pass first comments
      while r_comment.match(i):
          i = next(ofile)
  
      # Header is everything up to DATA attribute ?
      relation = None
      attributes = []
      while not r_datameta.match(i):
          m = r_headerline.match(i)
          if m:
              isattr = r_attribute.match(i)
              if isattr:
                  name, type, i = tokenize_attribute(ofile, i)
                  attributes.append((name, type))
              else:
                  isrel = r_relation.match(i)
                  if isrel:
                      relation = isrel.group(1)
                  else:
                      raise ValueError("Error parsing line %s" % i)
                  i = next(ofile)
          else:
              i = next(ofile)
  
      return relation, attributes
  
imports: from __future__ import division, print_function, absolute_import
  import re
  import itertools
  import datetime
  from functools import partial
  import numpy
  from scipy._lib.six import next
label_desc: Use image node_id 12 for calling a global function with example usage: read_header(ofile) and returns: relation,  attributes