code: def add_rows(self, rows, header=True):
          
  
          # nb: don't use 'iter' on by-dimensional arrays, to get a
          #     usable code for python 2.1
          if header:
              if hasattr(rows, '__iter__') and hasattr(rows, 'next'):
                  self.header(rows.next())
              else:
                  self.header(rows[0])
                  rows = rows[1:]
          for row in rows:
              self.add_row(row)
          return self
docs: Add several rows in the rows stack
  
          - The 'rows' argument can be either an iterator returning arrays,
            or a by-dimensional array
          - 'header' specifies if the first row should be used as the header
            of the table