/
__init__.py
99 lines (80 loc) · 2.67 KB
/
__init__.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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
"""
A system for assigning and grading notebooks.
"""
import os
import sys
import json
from pathlib import Path
from ._version import __version__
from .server_extensions.assignment_list import load_jupyter_server_extension as load_assignments
from .server_extensions.course_list import load_jupyter_server_extension as load_courses
from .server_extensions.validate_assignment import load_jupyter_server_extension as load_validate
from .server_extensions.formgrader import load_jupyter_server_extension as load_formgrader
HERE = Path(__file__).parent.resolve()
if os.path.exists(HERE / "labextension"):
with (HERE / "labextension" / "package.json").open() as fid:
data = json.load(fid)
def _jupyter_labextension_paths():
return [{
"src": "labextension",
"dest": data["name"]
}]
def _jupyter_server_extension_points():
return [{
"module": "nbgrader"
}]
# Classic notebook extensions
def _jupyter_nbextension_paths():
paths = [
dict(
section="notebook",
src=os.path.join('nbextensions', 'create_assignment'),
dest="create_assignment",
require="create_assignment/main"
),
dict(
section="tree",
src=os.path.join('nbextensions', 'formgrader'),
dest="formgrader",
require="formgrader/main"
),
dict(
section="notebook",
src=os.path.join('nbextensions', 'validate_assignment'),
dest="validate_assignment",
require="validate_assignment/main"
),
]
if sys.platform != 'win32':
paths.append(
dict(
section="tree",
src=os.path.join('nbextensions', 'assignment_list'),
dest="assignment_list",
require="assignment_list/main"
)
)
paths.append(
dict(
section="tree",
src=os.path.join('nbextensions', 'course_list'),
dest="course_list",
require="course_list/main"
)
)
return paths
# Classic notebook server extensions
def _jupyter_server_extension_paths():
paths = [
dict(module="nbgrader.server_extensions.formgrader"),
dict(module="nbgrader.server_extensions.validate_assignment")
]
if sys.platform != 'win32':
paths.append(dict(module="nbgrader.server_extensions.assignment_list"))
paths.append(dict(module="nbgrader.server_extensions.course_list"))
return paths
def _load_jupyter_server_extension(app):
load_assignments(app)
load_courses(app)
load_formgrader(app)
load_validate(app)