X-Git-Url: https://git.phdru.name/?p=sqlconvert.git;a=blobdiff_plain;f=scripts%2Fmysql-to-sql.py;fp=scripts%2Fmysql-to-sql.py;h=c40563fed0e7d849554eac67358026789bbc090f;hp=be137a849be27ce42bc4fc96db5c6679c42c2c14;hb=897abc011d161bbb285e7d7c0cea4c2bf934ece4;hpb=d66fe06e505a658a122fe577d1879b13b77f3b57 diff --git a/scripts/mysql-to-sql.py b/scripts/mysql-to-sql.py index be137a8..c40563f 100755 --- a/scripts/mysql-to-sql.py +++ b/scripts/mysql-to-sql.py @@ -24,27 +24,46 @@ def main(infile, outfile): if __name__ == '__main__': parser = argparse.ArgumentParser(description='Convert MySQL to SQL') - parser.add_argument('-i', '--infile', help='input file name') parser.add_argument('-o', '--outfile', help='output file name') + parser.add_argument('infile', help='input file name') + parser.add_argument('output_file', nargs='?', help='output file name') args = parser.parse_args() if args.infile: - infile = open(args.infile, 'rt') + if args.infile == '-': + infile = sys.stdin + else: + infile = open(args.infile, 'rt') else: infile = sys.stdin - if infile.isatty(): - print("Error: cannot input from console", file=sys.stderr) - parser.print_help() - sys.exit() + + if infile.isatty(): + print("Error: cannot read from console", file=sys.stderr) + parser.print_help() + sys.exit(1) if args.outfile: + if args.output_file: + print("Error: too many output files", file=sys.stderr) + parser.print_help() + sys.exit(1) + + outfile = args.outfile + + elif args.output_file: + outfile = args.output_file + + else: + outfile = '-' + + if outfile == '-': + outfile = sys.stdout + else: try: - outfile = open(args.outfile, 'wt') + outfile = open(outfile, 'wt') except: if infile is not sys.stdin: infile.close() raise - else: - outfile = sys.stdout main(infile, outfile)