]> git.phdru.name Git - sqlconvert.git/blobdiff - mysql2sql/print_tokens.py
Use encoding (default is utf-8) and unicode
[sqlconvert.git] / mysql2sql / print_tokens.py
index 0f03d0357f151bc3af02380e9be94bebae0d98a9..3e2b0d5cab08be97bba84a777fe52ceddb422fca 100644 (file)
@@ -1,24 +1,16 @@
 
 import sys
-try:
-    from cStringIO import StringIO
-except ImportError:
-    try:
-        from StringIO import StringIO
-    except ImportError:
-        from io import StringIO
-from sqlparse.sql import TokenList
 
 
-def print_tokens(token_list, outfile=sys.stdout, level=0):
-    for token in token_list:
-        if not isinstance(token, TokenList):
-            outfile.write(token.normalized)
-        if isinstance(token, TokenList):
-            print_tokens(token, outfile, level+1)
+def print_tokens(token_list, outfile=sys.stdout, encoding=None):
+    if encoding:
+        outfile = getattr(outfile, 'buffer', outfile)
+    for token in token_list.flatten():
+        normalized = token.normalized
+        if encoding:
+            normalized = normalized.encode(encoding)
+        outfile.write(normalized)
 
 
-def get_tokens_str(token_list):
-    sio = StringIO()
-    print_tokens(token_list, outfile=sio)
-    return sio.getvalue()
+def tlist2str(token_list):
+    return u''.join(token.normalized for token in token_list.flatten())