Coverage for e2xgrader/__init__.py: 83%
24 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
1"""
2A system for creating assignments.
3"""
5import glob
6import os
7from os.path import join as pjoin
9from .server_extensions.student import (
10 _load_jupyter_server_extension as load_student_extension,
11)
12from .server_extensions.student_exam import (
13 _load_jupyter_server_extension as load_student_exam_extension,
14)
15from .server_extensions.teacher import (
16 _load_jupyter_server_extension as load_teacher_extension,
17)
20def _jupyter_nbextension_paths():
21 root = os.path.dirname(__file__)
22 base_path = pjoin(root, "static", "nbextensions")
24 paths = []
26 for section in ["notebook", "tree"]:
27 for notebook_extension in glob.glob(pjoin(base_path, section, "*")):
28 name = f"{os.path.split(notebook_extension)[-1]}_{section}"
29 paths.append(
30 dict(
31 section=section,
32 src=notebook_extension,
33 dest=name,
34 require=pjoin(name, "main"),
35 )
36 )
38 return paths
41def _jupyter_server_extension_paths():
42 paths = [
43 dict(module="e2xgrader.server_extensions.teacher"),
44 dict(module="e2xgrader.server_extensions.student"),
45 dict(module="e2xgrader.server_extensions.student_exam"),
46 ]
48 return paths
51def _jupyter_server_extension_points():
52 return [dict(module="e2xgrader")]
55def _load_jupyter_server_extension(app):
56 load_student_extension(app)
57 load_student_exam_extension(app)
58 load_teacher_extension(app)