Coverage for e2xgrader/apps/baseapp.py: 100%
17 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 jupyter_core.application import JupyterApp
4from traitlets import Enum
6from ..utils.mode import E2xGraderMode, infer_e2xgrader_mode
9class E2xGrader(JupyterApp):
11 mode = Enum(
12 values=[mode.value for mode in E2xGraderMode],
13 default_value=E2xGraderMode.INACTIVE.value,
14 help=dedent(
15 """
16 Which mode is activated, can be teacher, student, student_exam or deactivated.
17 Is set to invalid if the mode cannot be inferred.
18 """
19 ),
20 )
22 def fail(self, msg, *args):
23 self.log.error(msg, *args)
24 self.exit(1)
26 def initialize(self, argv=None):
27 try:
28 mode = infer_e2xgrader_mode()
29 self.mode = mode
30 except ValueError as e:
31 self.log.error(str(e))
32 self.mode = E2xGraderMode.INVALID.value
33 super().initialize(argv)