X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=scripts%2Fmysql2sql;h=e859f2a533df665041d6320902efb1c3245b0cc2;hb=HEAD;hp=f06234aeaf3ef48ede0765eb2a1e9f9f1a85ed43;hpb=9412933a68ffdcb20dacb9ff927d4eb285fded2e;p=sqlconvert.git diff --git a/scripts/mysql2sql b/scripts/mysql2sql index f06234a..e859f2a 100755 --- a/scripts/mysql2sql +++ b/scripts/mysql2sql @@ -6,7 +6,6 @@ from io import open 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 @@ -14,6 +13,11 @@ 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: @@ -31,8 +35,12 @@ def main(infile, encoding, outfile, output_encoding, use_pbar, quoting_style): 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 != '': + print(' ' + infile.name, end='', file=sys.stderr) + print(": ", end='', file=sys.stderr) + sys.stderr.flush() if use_pbar: pbar = ttyProgressBar(0, size-1) @@ -56,9 +64,9 @@ def main(infile, encoding, outfile, output_encoding, use_pbar, quoting_style): got_directive = is_directive_statement(statement) if got_directive: continue - process_statement(statement, quoting_style) - print_tokens(statement, outfile=outfile, - encoding=output_encoding) + for _statement in process_statement(statement, quoting_style): + print_tokens(_statement, outfile=outfile, + encoding=output_encoding) tokens = grouper.close() if tokens: for token in tokens: @@ -66,7 +74,7 @@ def main(infile, encoding, outfile, output_encoding, use_pbar, quoting_style): if use_pbar: pbar.erase() - print("done.") + print("done.") if __name__ == '__main__': parser = argparse.ArgumentParser(description='Convert MySQL to SQL') @@ -90,7 +98,7 @@ if __name__ == '__main__': parser.add_argument('output_file', nargs='?', help='output file name') args = parser.parse_args() - if int(args.mysql) + int(args.postgres) + int(args.sqlite) > 1: + if int(args.mysql) + int(args.pg) + int(args.sqlite) > 1: print("Error: options -m/-p/-s are mutually incompatible, " "use only one of them", file=sys.stderr) @@ -133,6 +141,7 @@ if __name__ == '__main__': if outfile == '-': outfile = sys.stdout + args.no_pbar = True else: try: outfile = open(outfile, 'wt', encoding=output_encoding) @@ -143,7 +152,7 @@ if __name__ == '__main__': if args.mysql: quoting_style = 'mysql' - elif args.postgres: + elif args.pg: quoting_style = 'postgres' else: quoting_style = 'sqlite'