Coverage for e2xgrader/preprocessors/filtercellsbyid.py: 100%
13 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 nbgrader.preprocessors import NbGraderPreprocessor
4class FilterCellsById(NbGraderPreprocessor):
5 def filter_cells(self, cells, keyword):
6 new_cells = []
7 for cell in cells:
8 metadata = cell["metadata"]
9 if (
10 ("nbgrader" in metadata)
11 and ("grade_id" in metadata["nbgrader"])
12 and (keyword in cell["metadata"]["nbgrader"]["grade_id"])
13 ):
14 new_cells.append(cell)
15 return new_cells
17 def preprocess(self, nb, resources):
18 if "keyword" in resources:
19 nb.cells = self.filter_cells(nb.cells, resources["keyword"])
20 return nb, resources