From 01221f0374e04ea86fab6acf599b4ab02f9866c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Fra=C3=9F?= Date: Fri, 7 Jun 2024 08:23:43 +0200 Subject: [PATCH] [mod] tools:build --- tools/build | 43 ++++++++++++++++++++++++++++++------------- 1 file changed, 30 insertions(+), 13 deletions(-) diff --git a/tools/build b/tools/build index 63a02d6..a42df61 100755 --- a/tools/build +++ b/tools/build @@ -18,6 +18,7 @@ def main(): type = str, dest = "revision", default = None, + help = "use '.' for latest", ) argument_parser.add_argument( "-f", @@ -37,22 +38,38 @@ def main(): ) ) ) - revision = (args.revision or revisions[-1]) + revision = ( + args.revision + if + ( + (not (args.revision is None)) + and + (not (args.revision == "")) + and + (not (args.revision == ".")) + ) + else + revisions[-1] + ) ## exec - _sys.stderr.write("-- data\n") - _os.system( - "cat %s/structure/%s.sindri.json | tools/sindri/sindri --format='database:%s'" - % ( - dir_source, - revision, - args.format, + if (not (revision in set(revisions))): + _sys.stderr.write("-- invalid revision: %s\n" % revision) + _sys.exit(1) + else: + _sys.stderr.write("-- data\n") + _os.system( + "cat %s/structure/%s.sindri.json | tools/sindri/sindri --format='database:%s'" + % ( + dir_source, + revision, + args.format, + ) ) - ) - _sys.stderr.write("-- meta\n") - _sys.stdout.write("DROP TABLE IF EXISTS _meta;\n") - _sys.stdout.write("CREATE TABLE _meta(revision VARCHAR(15) NOT NULL);\n") - _sys.stdout.write("INSERT INTO _meta(revision) VALUES ('%s');\n" % revision) + _sys.stderr.write("-- meta\n") + _sys.stdout.write("DROP TABLE IF EXISTS _meta;\n") + _sys.stdout.write("CREATE TABLE _meta(revision VARCHAR(15) NOT NULL);\n") + _sys.stdout.write("INSERT INTO _meta(revision) VALUES ('%s');\n" % revision) main()