def __str__ (self): offset = self.db_error.args[0].offset lines = self.sql.split('\n') pos = 0 for lineno in range(len(lines)): linelen = len(lines[lineno]) + 1 if pos + linelen > offset: break pos += linelen offset -= pos lineno += 1 # 1-based line numbering return '{}{}'.format( super().__str__(), format_syntax_error(str(self.db_error).strip(), 'SQL statement', lineno, offset, self.sql))
def __str__ (self): return '{}{}'.format( super(ParseError, self).__str__(), format_syntax_error(self.title, self.source_name, self.line, self.column, self.line_text, self.explanation))