def _read_arc_record(self):
        "Reads out an arc record, formats it and returns it"
        #XXX:Noufal Stream payload here rather than just read it
        # r = self.fileobj.readline() # Drop the initial newline
        # if r == "":
        #     return None
        # header = self.fileobj.readline()

        # Strip the initial new lines and read first line
        header = self.fileobj.readline()
        while header and header.strip() == "":
            header = self.fileobj.readline()

        if header == "":
            return None

        if int(self.version) == 1:
            arc_header_re = ARC1_HEADER_RE
        elif int(self.version) == 2:
            arc_header_re = ARC2_HEADER_RE

        matches = arc_header_re.search(header)
        headers = matches.groupdict()
        arc_header = ARCHeader(**headers)

        payload = self.fileobj.read(int(headers['length']))

        self.fileobj.readline() # Munge the separator newline.

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