-
Notifications
You must be signed in to change notification settings - Fork 407
/
Copy pathmain.py
executable file
·39 lines (26 loc) · 1 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/usr/bin/env python3
from __future__ import annotations
import argparse
import glob
import importlib
from os.path import basename, dirname, isfile, join
import rerun as rr
def log_checks(args: argparse.Namespace) -> None:
modules = glob.glob(join(dirname(__file__), "*.py"))
modules = [basename(f)[:-3] for f in modules if isfile(f) and basename(f).startswith("check_")]
for module in modules:
m = importlib.import_module(module)
m.run(args)
def log_readme() -> None:
with open(join(dirname(__file__), "README.md"), encoding="utf8") as f:
rr.log("readme", rr.TextDocument(f.read(), media_type=rr.MediaType.MARKDOWN), static=True)
def main() -> None:
parser = argparse.ArgumentParser(description="Interactive release checklist")
rr.script_add_args(parser)
args = parser.parse_args()
log_checks(args)
# Log instructions last so that's what people see first.
rr.script_setup(args, "instructions")
log_readme()
if __name__ == "__main__":
main()