def _read_file_header(self):
header = self.fileobj.readline()<EOL>payload1 = self.fileobj.readline()<EOL>payload2 = self.fileobj.readline()<EOL>version, reserved, organisation = payload1.split(None, <NUM_LIT:2>)<EOL>self.fileobj.readline() <EOL>self.header_read = True<EOL>if self.version and int(self.version) != version:<EOL><INDENT>raise IOError("<STR_LIT>"%(self.version, version))<EOL><DEDENT>if version == '<STR_LIT:1>':<EOL><INDENT>url, ip_address, date, content_type, length = header.split()<EOL>self.file_headers = {"<STR_LIT>" : ip_address,<EOL>"<STR_LIT:date>" : datetime.datetime.strptime(date, "<STR_LIT>"),<EOL>"<STR_LIT>" : organisation}<EOL>self.version = <NUM_LIT:1><EOL><DEDENT>elif version == '<STR_LIT:2>':<EOL><INDENT>url, ip_address, date, content_type, result_code, checksum, location, offset, filename, length  = header.split()<EOL>self.file_headers = {"<STR_LIT>" : ip_address,<EOL>"<STR_LIT:date>" : datetime.datetime.strptime(date, "<STR_LIT>"),<EOL>"<STR_LIT>" : organisation}<EOL>self.version = <NUM_LIT:2><EOL><DEDENT>else:<EOL><INDENT>raise IOError("<STR_LIT>"%version)<EOL><DEDENT>
Reads out the file header for the arc file. If version was
        not provided, this will autopopulate it.