+from sqlparse.sql import Comment
from sqlobject.converters import sqlrepr
from sqlparse import parse
-from sqlparse.compat import PY3
from sqlparse import tokens as T
+try:
+ xrange
+except NameError:
+ xrange = range
+
def find_error(token_list):
"""Find an error"""
def is_comment_or_space(token):
- return token.ttype in (T.Comment.Single, T.Comment.Multiline,
- T.Newline, T.Whitespace)
+ return isinstance(token, Comment) or \
+ token.ttype in (T.Comment, T.Comment.Single, T.Comment.Multiline,
+ T.Newline, T.Whitespace)
def is_newline_statement(statement):
token.normalized = token.value = value
-if PY3:
- xrange = range
-
-
class StatementGrouper(object):
"""Collect lines and reparse until the last statement is complete"""
def process_lines(self):
statements = parse(''.join(self.lines), encoding=self.encoding)
+ if not statements:
+ return
last_stmt = statements[-1]
for i in xrange(len(last_stmt.tokens) - 1, 0, -1):
token = last_stmt.tokens[i]