import os
import sys
-from sqlparse.compat import text_type
from sqlconvert.print_tokens import print_tokens
from sqlconvert.process_mysql import is_directive_statement, process_statement
from sqlconvert.process_tokens import is_newline_statement, StatementGrouper
from m_lib.defenc import default_encoding
from m_lib.pbar.tty_pbar import ttyProgressBar
+try:
+ text_type = unicode
+except NameError:
+ text_type = str
+
def get_fsize(fp):
try:
if size is None:
use_pbar = False
- print("Converting: ", end='', file=sys.stderr)
- sys.stderr.flush()
+ if use_pbar:
+ print("Converting", end='', file=sys.stderr)
+ if infile.name != '<stdin>':
+ print(' ' + infile.name, end='', file=sys.stderr)
+ print(": ", end='', file=sys.stderr)
+ sys.stderr.flush()
if use_pbar:
pbar = ttyProgressBar(0, size-1)
got_directive = is_directive_statement(statement)
if got_directive:
continue
- for statement in process_statement(statement, quoting_style):
- print_tokens(statement, outfile=outfile,
+ for _statement in process_statement(statement, quoting_style):
+ print_tokens(_statement, outfile=outfile,
encoding=output_encoding)
tokens = grouper.close()
if tokens:
if use_pbar:
pbar.erase()
- print("done.")
+ print("done.")
if __name__ == '__main__':
parser = argparse.ArgumentParser(description='Convert MySQL to SQL')
if outfile == '-':
outfile = sys.stdout
+ args.no_pbar = True
else:
try:
outfile = open(outfile, 'wt', encoding=output_encoding)