3
3
import csv
4
4
import io
5
5
import json
6
- import logging
7
6
import os
8
7
import re
9
8
import secrets
14
13
from enum import Enum , unique
15
14
16
15
import argcomplete
17
- import coloredlogs
18
16
import jinja2
19
17
import yaml
20
18
from tabulate import tabulate
21
19
20
+ from ctf import CTF_ROOT_DIRECTORY , ENV , LOG , VERSION
22
21
from ctf .utils import (
23
22
add_tracks_to_terraform_modules ,
24
23
available_incus_remotes ,
25
24
check_git_lfs ,
26
25
create_terraform_modules_file ,
27
- find_ctf_root_directory ,
28
26
get_all_available_tracks ,
29
27
get_ctf_script_schemas_directory ,
30
28
get_ctf_script_templates_directory ,
47
45
except ImportError :
48
46
_has_pybadges = False
49
47
50
- LOG = logging .getLogger ()
51
- LOG .setLevel (level = logging .DEBUG )
52
- coloredlogs .install (level = "DEBUG" , logger = LOG )
53
-
54
- ENV = {}
55
-
56
- CTF_ROOT_DIRECTORY = find_ctf_root_directory ()
57
48
TEMPLATES_ROOT_DIRECTORY = get_ctf_script_templates_directory ()
58
49
SCHEMAS_ROOT_DIRECTORY = get_ctf_script_schemas_directory ()
59
50
AVAILABLE_INCUS_REMOTES = available_incus_remotes ()
@@ -1145,6 +1136,11 @@ def write_badge(name: str, svg: str) -> None:
1145
1136
f .write (svg )
1146
1137
1147
1138
1139
+ def version (args : argparse .Namespace ) -> None :
1140
+ print (VERSION )
1141
+ exit (code = 0 )
1142
+
1143
+
1148
1144
def main ():
1149
1145
# Command line parsing.
1150
1146
parser = argparse .ArgumentParser (
@@ -1154,6 +1150,12 @@ def main():
1154
1150
1155
1151
subparsers = parser .add_subparsers (required = True )
1156
1152
1153
+ parser_version = subparsers .add_parser (
1154
+ "version" ,
1155
+ help = "Script version." ,
1156
+ )
1157
+ parser_version .set_defaults (func = version )
1158
+
1157
1159
parser_flags = subparsers .add_parser (
1158
1160
"flags" ,
1159
1161
help = "Get flags from tracks" ,
@@ -1365,8 +1367,8 @@ def main():
1365
1367
1366
1368
args = parser .parse_args ()
1367
1369
1368
- for k , v in os . environ . items () :
1369
- ENV [ k ] = v
1370
+ if args . func . __name__ == "version" :
1371
+ args . func ( args = args )
1370
1372
1371
1373
if "remote" in args and args .remote :
1372
1374
ENV ["INCUS_REMOTE" ] = args .remote
0 commit comments