X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=sqlconvert%2Fprocess_tokens.py;h=790bf53f8750bb27b5add60f8672989189169155;hb=71f6825b06d30e86f81abc0c1bf8801ab3493254;hp=b1c26022f7ad2adbecaf943fee47cd74c7794a7d;hpb=aff066ceefb79333878baaf7c16e0a2206d26c5d;p=sqlconvert.git diff --git a/sqlconvert/process_tokens.py b/sqlconvert/process_tokens.py index b1c2602..790bf53 100644 --- a/sqlconvert/process_tokens.py +++ b/sqlconvert/process_tokens.py @@ -1,4 +1,5 @@ +from sqlobject.converters import sqlrepr from sqlparse import parse from sqlparse.compat import PY3 from sqlparse import tokens as T @@ -19,6 +20,15 @@ def is_newline_statement(statement): return True +def escape_strings(token_list, dbname): + """Escape strings""" + for token in token_list.flatten(): + if token.ttype is T.String.Single: + value = token.value[1:-1] # unquote by removing apostrophes + value = sqlrepr(value, dbname) + token.normalized = token.value = value + + if PY3: xrange = range @@ -54,7 +64,7 @@ class StatementGrouper(object): for stmt in self.statements: yield stmt self.statements = [] - raise StopIteration + return def close(self): if not self.lines: @@ -65,4 +75,6 @@ class StatementGrouper(object): T.Newline, T.Whitespace)): raise ValueError("Incomplete SQL statement: %s" % tokens) + self.lines = [] + self.statements = [] return tokens