docs: def _write_header(self):
          "Writes out an ARC header"
          if "org" not in self.file_headers:
              warnings.warn("Using 'unknown' for Archiving organisation name")
              self.file_headers['org'] = "Unknown"
          if "date" not in self.file_headers:
              now = datetime.datetime.utcnow()
              warnings.warn("Using '%s' for Archiving time"%now)
              self.file_headers['date'] = now
          if "ip_address" not in self.file_headers:
              warnings.warn("Using '127.0.0.1' as IP address of machine that's archiving")
              self.file_headers['ip_address'] = "127.0.0.1"
          if self.version == 1:
              payload = "1 0 %(org)s\nURL IP-address Archive-date Content-type Archive-length"%dict(org = self.file_headers['org'])
          elif self.version == 2:
              payload = "2 0 %(org)s\nURL IP-address Archive-date Content-type Result-code Checksum Location Offset Filename Archive-length"
          else:
              raise IOError("Can't write an ARC file with version '\"%s\"'"%self.version)
          
          fname = os.path.basename(self.fileobj.name)
          header = ARCHeader(url = "filedesc://%s"%fname,
                             ip_address = self.file_headers['ip_address'], 
                             date = self.file_headers['date'],
                             content_type = "text/plain", 
                             length = len(payload),
                             result_code = "200",
                             checksum = "-", 
                             location = "-",
                             offset = str(self.fileobj.tell()),
                             filename = fname)
          arc_file_header_record = ARCRecord(header, payload%self.file_headers)
          self.write(arc_file_header_record)