def _read_arc_record(self):
<EOL>header = self.fileobj.readline()<EOL>while header and header.strip() == "<STR_LIT>":<EOL><INDENT>header = self.fileobj.readline()<EOL><DEDENT>if header == "<STR_LIT>":<EOL><INDENT>return None<EOL><DEDENT>if int(self.version) == <NUM_LIT:1>:<EOL><INDENT>arc_header_re = ARC1_HEADER_RE<EOL><DEDENT>elif int(self.version) == <NUM_LIT:2>:<EOL><INDENT>arc_header_re = ARC2_HEADER_RE<EOL><DEDENT>matches = arc_header_re.search(header)<EOL>headers = matches.groupdict()<EOL>arc_header = ARCHeader(**headers)<EOL>payload = self.fileobj.read(int(headers['<STR_LIT>']))<EOL>self.fileobj.readline() <EOL>return ARCRecord(header = arc_header, payload = payload)<EOL>
Reads out an arc record, formats it and returns it