Path:
strictdoc/commands/about_command.py
Lines:
47
Non-empty lines:
36
Non-empty lines covered with requirements:
36 / 36 (100.0%)
Functions:
4
Functions covered by requirements:
4 / 4 (100.0%)
1
"""2
@relation(SDOC-SRS-163, scope=file)3
"""4
5
import argparse
6
7
import strictdoc
8
from strictdoc.cli.base_command import BaseCommand
9
from strictdoc.helpers.parallelizer import Parallelizer
10
from strictdoc.helpers.timing import SimpleNominalExit
11
12
13
class AboutCommand(BaseCommand):
14
HELP = "About StrictDoc."
15
DETAILED_HELP = HELP
16
17
@classmethod18
def add_arguments(cls, parser: argparse.ArgumentParser) -> None:
19
pass20
21
def __init__(self, args: argparse.Namespace) -> None:
22
self.args = args
23
24
def run(self, parallelizer: Parallelizer) -> None: # noqa: ARG002
25
width = 72
26
border = "═" * width
27
28
lines = [
29
f" {'StrictDoc'.center(width - 2)} ",
30
"",
31
" Purpose: Software for writing technical requirements specifications.",
32
"",
33
f" Version: {strictdoc.__version__}",
34
" Docs: https://strictdoc.readthedocs.io/en/stable/",
35
" GitHub: https://github.com/strictdoc-project/strictdoc",
36
" License: Apache 2",
37
]38
39
banner = (
40
f"╔{border}╗\n"
41
+ "\n".join(f"║{line.ljust(width)}║" for line in lines)
42
+ f"\n╚{border}╝"
43
)44
45
print(banner) # noqa: T201
46
47
raise SimpleNominalExit