]> git.phdru.name Git - sqlconvert.git/blob - mysql2sql/process_tokens.py
Find an error in parse tree
[sqlconvert.git] / mysql2sql / process_tokens.py
1
2 from sqlparse.sql import TokenList
3 from sqlparse.tokens import Name, Error
4
5
6 def requote_names(token_list):
7     """Remove backticks, quote non-lowercase identifiers"""
8     for token in token_list:
9         if isinstance(token, TokenList):
10             requote_names(token)
11         elif token.ttype is Name:
12             value = token.value
13             if (value[0] == "`") and (value[-1] == "`"):
14                 value = value[1:-1]
15             if value.islower():
16                 token.normalized = token.value = value
17             else:
18                 token.normalized = token.value = '"%s"' % value
19
20
21 def find_error(token_list):
22     """Find an error"""
23     for token in token_list:
24         if isinstance(token, TokenList):
25             if find_error(token):
26                 return True
27         elif token.ttype is Error:
28             return True
29     return False