docs: def _consume_blanklines(self):
          """ Consume blank lines that are between records
          - For warcs, there are usually 2
          - For arcs, may be 1 or 0
          - For block gzipped files, these are at end of each gzip envelope
            and are included in record length which is the full gzip envelope
          - For uncompressed, they are between records and so are NOT part of
            the record length
  
            count empty_size so that it can be substracted from
            the record length for uncompressed
  
            if first line read is not blank, likely error in WARC/ARC,
            display a warning
          """
          empty_size = 0
          first_line = True
  
          while True:
              line = self.reader.readline()
              if len(line) == 0:
                  return None, empty_size
  
              stripped = line.rstrip()
  
              if len(stripped) == 0 or first_line:
                  empty_size += len(line)
  
                  if len(stripped) != 0:
                      # if first line is not blank,
                      # likely content-length was invalid, display warning
                      err_offset = self.fh.tell() - self.reader.rem_length() - empty_size
                      sys.stderr.write(self.INC_RECORD.format(err_offset, line))
                      self.err_count += 1
  
                  first_line = False
                  continue
  
              return line, empty_size