Changeset: da1f4c089b4a for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=da1f4c089b4a
Modified Files:
        buildtools/autogen/scripts/sql2h.py
Branch: translate-scripts
Log Message:

Add option to trim whitespaces to sql2h.py, dy default it won't.

The trimming should be not be set when the script contains csv import from 
stdin.


diffs (62 lines):

diff --git a/buildtools/autogen/scripts/sql2h.py 
b/buildtools/autogen/scripts/sql2h.py
--- a/buildtools/autogen/scripts/sql2h.py
+++ b/buildtools/autogen/scripts/sql2h.py
@@ -7,33 +7,36 @@
 from __future__ import print_function
 
 import os
-import sys
+import argparse
+
 
+parser = argparse.ArgumentParser(description='Convert MonetDB SQL scripts to C 
header files to be inlined')
+parser.add_argument('file', metavar='F', type=str, help='The SQL file to 
convert')
+parser.add_argument('-t', '--trim', dest='trim', action='store_true', 
help='trim whitespaces')
 
 # check arguments and veracity of the input file first
-if len(sys.argv) < 2:
-    raise Exception("One argument must be given to sql2h.py")
+args = parser.parse_args()
 
-if not os.path.exists(sys.argv[1]):
-    raise Exception("File {0} doesn't exist".format(sys.argv[1]))
-if not os.path.isfile(sys.argv[1]):
-    raise Exception("{0} is not a file".format(sys.argv[1]))
+if not os.path.exists(args.file):
+    raise Exception("File {0} doesn't exist".format(args.file))
+if not os.path.isfile(args.file):
+    raise Exception("{0} is not a file".format(args.file))
 
-file_stat = os.stat(sys.argv[1])
+file_stat = os.stat(args.file)
 if file_stat.st_size > (1 << 29):
-    raise Exception("File {0} is too large to process".format(sys.argv[1]))
+    raise Exception("File {0} is too large to process".format(args.file))
 
 # get the file name and extension
-base = os.path.basename(sys.argv[1])
+base = os.path.basename(args.file)
 split = os.path.splitext(base)
 if len(split) < 2 or split[1] != '.sql':
     raise Exception("Only .sql files are supported")
 
 filebasename = split[0]
 # output file will be written on the same directory
-sql_h_output_file = open(os.path.join(os.path.dirname(sys.argv[1]), 
filebasename) + ".sql.h", 'w')
+sql_h_output_file = open(os.path.join(os.path.dirname(args.file), 
filebasename) + ".sql.h", 'w')
 
-sql_content_file = open(sys.argv[1], 'r')
+sql_content_file = open(args.file, 'r')
 sql_content = sql_content_file.read()
 sql_content_file.close()
 
@@ -158,7 +161,8 @@ while i < endloop:
             write_to_buffer('t')
         else:
             write_to_buffer(c)
-        cur_state = 6
+        if args.trim:
+            cur_state = 6
         i += 1
         continue
 
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to