Coverage for e2xgrader/apps/e2xgraderapp.py: 93%
14 statements
« prev ^ index » next coverage.py v7.4.2, created at 2024-03-14 13:22 +0100
« prev ^ index » next coverage.py v7.4.2, created at 2024-03-14 13:22 +0100
1from textwrap import dedent
3from .activatemodeapp import ActivateModeApp
4from .baseapp import E2xGrader
5from .deactivatemodeapp import DeactivateModeApp
6from .showmodeapp import ShowModeApp
9class E2xGraderApp(E2xGrader):
11 subcommands = dict(
12 activate=(
13 ActivateModeApp,
14 dedent(
15 """\
16 Activate a specific mode (teacher, student, student_exam)
17 """
18 ).strip(),
19 ),
20 deactivate=(
21 DeactivateModeApp,
22 dedent(
23 """\
24 Deactivate all e2xgrader extensions
25 """
26 ).strip(),
27 ),
28 show_mode=(
29 ShowModeApp,
30 dedent(
31 """\
32 Show the currently active mode
33 """
34 ).strip(),
35 ),
36 )
38 def start(self) -> None:
39 super().start()
40 if self.subapp is None:
41 print(
42 "No subcommand given (run with --help for options). List of subcommands:\n"
43 )
44 self.print_subcommands()
47def main():
48 E2xGraderApp.launch_instance()