def seek_line(self):
pos = end_pos = self.file.tell()<EOL>read_size = self.read_size<EOL>if pos > read_size:<EOL><INDENT>pos -= read_size<EOL><DEDENT>else:<EOL><INDENT>pos = <NUM_LIT:0><EOL>read_size = end_pos<EOL><DEDENT>self.seek(pos)<EOL>bytes_read, read_str = self.read(read_size)<EOL>if bytes_read and read_str[-<NUM_LIT:1>] in self.line_terminators:<EOL><INDENT>bytes_read -= <NUM_LIT:1><EOL>if read_str[-<NUM_LIT:2>:] == '<STR_LIT:\r\n>' and '<STR_LIT:\r\n>' in self.line_terminators:<EOL><INDENT>bytes_read -= <NUM_LIT:1><EOL><DEDENT><DEDENT>while bytes_read > <NUM_LIT:0>:<EOL><INDENT>i = bytes_read - <NUM_LIT:1><EOL>while i >= <NUM_LIT:0>:<EOL><INDENT>if read_str[i] in self.line_terminators:<EOL><INDENT>self.seek(pos + i + <NUM_LIT:1>)<EOL>return self.file.tell()<EOL><DEDENT>i -= <NUM_LIT:1><EOL><DEDENT>if pos == <NUM_LIT:0> or pos - self.read_size < <NUM_LIT:0>:<EOL><INDENT>self.seek(<NUM_LIT:0>)<EOL>return None<EOL><DEDENT>pos -= self.read_size<EOL>self.seek(pos)<EOL>bytes_read, read_str = self.read(self.read_size)<EOL><DEDENT>return None<EOL>
\
        Searches backwards from the current file position for a line terminator
        and seeks to the charachter after it.