本文整理汇总了Python中nbgrader.api.Gradebook.find_notebook方法的典型用法代码示例。如果您正苦于以下问题:Python Gradebook.find_notebook方法的具体用法?Python Gradebook.find_notebook怎么用?Python Gradebook.find_notebook使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类nbgrader.api.Gradebook
的用法示例。
在下文中一共展示了Gradebook.find_notebook方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_add_remove_extra_notebooks
# 需要导入模块: from nbgrader.api import Gradebook [as 别名]
# 或者: from nbgrader.api.Gradebook import find_notebook [as 别名]
def test_add_remove_extra_notebooks(self, db):
"""Are extra notebooks added and removed?"""
gb = Gradebook(db)
assignment = gb.add_assignment("ps1")
self._copy_file("files/test.ipynb", "source/ps1/test.ipynb")
run_command('nbgrader assign ps1 --db="{}"'.format(db))
gb.db.refresh(assignment)
assert len(assignment.notebooks) == 1
notebook1 = gb.find_notebook("test", "ps1")
self._copy_file("files/test.ipynb", "source/ps1/test2.ipynb")
run_command('nbgrader assign ps1 --db="{}" --force'.format(db))
gb.db.refresh(assignment)
assert len(assignment.notebooks) == 2
gb.db.refresh(notebook1)
notebook2 = gb.find_notebook("test2", "ps1")
os.remove("source/ps1/test2.ipynb")
run_command('nbgrader assign ps1 --db="{}" --force'.format(db))
gb.db.refresh(assignment)
assert len(assignment.notebooks) == 1
gb.db.refresh(notebook1)
with pytest.raises(InvalidRequestError):
gb.db.refresh(notebook2)
示例2: init_assignment
# 需要导入模块: from nbgrader.api import Gradebook [as 别名]
# 或者: from nbgrader.api.Gradebook import find_notebook [as 别名]
def init_assignment(self, assignment_id, student_id):
super(AutogradeApp, self).init_assignment(assignment_id, student_id)
# try to get the student from the database, and throw an error if it
# doesn't exist
gb = Gradebook(self.db_url)
try:
gb.find_student(student_id)
except MissingEntry:
if self.create_student:
self.log.warning("Creating student with ID '%s'", student_id)
gb.add_student(student_id)
else:
self.fail("No student with ID '%s' exists in the database", student_id)
# try to read in a timestamp from file
src_path = self._format_source(assignment_id, student_id)
timestamp = self._get_existing_timestamp(src_path)
if timestamp:
submission = gb.update_or_create_submission(
assignment_id, student_id, timestamp=timestamp)
self.log.info("%s submitted at %s", submission, timestamp)
# if the submission is late, print out how many seconds late it is
if timestamp and submission.total_seconds_late > 0:
self.log.warning("%s is %s seconds late", submission, submission.total_seconds_late)
else:
submission = gb.update_or_create_submission(assignment_id, student_id)
# copy files over from the source directory
self.log.info("Overwriting files with master versions from the source directory")
dest_path = self._format_dest(assignment_id, student_id)
source_path = self.directory_structure.format(
nbgrader_step=self.source_directory,
student_id='.',
assignment_id=assignment_id)
source_files = utils.find_all_files(source_path, self.ignore + ["*.ipynb"])
# copy them to the build directory
for filename in source_files:
dest = os.path.join(dest_path, os.path.relpath(filename, source_path))
ensure_dir_exists(os.path.dirname(dest))
if not os.path.normpath(dest) == os.path.normpath(filename):
self.log.info("Linking %s -> %s", filename, dest)
link_or_copy(filename, dest)
# ignore notebooks that aren't in the database
notebooks = []
for notebook in self.notebooks:
notebook_id = os.path.splitext(os.path.basename(notebook))[0]
try:
gb.find_notebook(notebook_id, assignment_id)
except MissingEntry:
self.log.warning("Skipping unknown notebook: %s", notebook)
continue
else:
notebooks.append(notebook)
self.notebooks = notebooks
示例3: test_save_cells
# 需要导入模块: from nbgrader.api import Gradebook [as 别名]
# 或者: from nbgrader.api.Gradebook import find_notebook [as 别名]
def test_save_cells(self, db):
"""Ensure cells are saved into the database"""
self._copy_file("files/test.ipynb", "source/ps1/test.ipynb")
gb = Gradebook(db)
gb.add_assignment("ps1")
run_command('nbgrader assign ps1 --db="{}"'.format(db))
notebook = gb.find_notebook("test", "ps1")
assert len(notebook.grade_cells) == 8
示例4: test_save_cells
# 需要导入模块: from nbgrader.api import Gradebook [as 别名]
# 或者: from nbgrader.api.Gradebook import find_notebook [as 别名]
def test_save_cells(self):
"""Ensure cells are saved into the database"""
with self._temp_cwd(["files/test.ipynb"]):
os.makedirs('source/ps1')
shutil.move("test.ipynb", "source/ps1/test.ipynb")
dbpath = self._init_db()
gb = Gradebook(dbpath)
gb.add_assignment("ps1")
self._run_command('nbgrader assign ps1 --db="{}"'.format(dbpath))
notebook = gb.find_notebook("test", "ps1")
assert_equal(len(notebook.grade_cells), 8)