X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=mysql2sql%2Fprocess_tokens.py;h=ac9930eb81963b1e0c376ff67af035aaaca37679;hb=80a352828850edb4089fd0fd5555dee5d17f384c;hp=c395b37df0cd94bb1cb9b09df2f4b0fd21cd3583;hpb=3289238688d9c3dfefccf143d21f6c406faad9e4;p=sqlconvert.git diff --git a/mysql2sql/process_tokens.py b/mysql2sql/process_tokens.py index c395b37..ac9930e 100644 --- a/mysql2sql/process_tokens.py +++ b/mysql2sql/process_tokens.py @@ -1,18 +1,24 @@ from sqlparse.sql import TokenList -from sqlparse.tokens import Name +from sqlparse.tokens import Name, Error def requote_names(token_list): """Remove backticks, quote non-lowercase identifiers""" - for token in token_list: - if isinstance(token, TokenList): - requote_names(token) - else: - if token.ttype is Name: - value = token.value - if (value[0] == "`") and (value[-1] == "`"): - value = value[1:-1] - token.normalized = token.value = value - if not value.islower(): - token.normalized = token.value = '"%s"' % value + for token in token_list.flatten(): + if token.ttype is Name: + value = token.value + if (value[0] == "`") and (value[-1] == "`"): + value = value[1:-1] + if value.islower(): + token.normalized = token.value = value + else: + token.normalized = token.value = '"%s"' % value + + +def find_error(token_list): + """Find an error""" + for token in token_list.flatten(): + if token.ttype is Error: + return True + return False