diff --git a/.gitignore b/.gitignore index c65f5612d12e1e54466b6173c01d30abba6e380b..abc52eaa38d029223acedaf0b2c9720ecb564bcc 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,8 @@ # editors configurations travo.code-workspace .idea +code/artifacts.zip +forkedRepositories/froidevaux.pierre_thomas/activity.json .vscode/settings.json *~ @@ -14,6 +16,9 @@ forkedRepositories/* .gitlab-ci-local* code/artifacts.zip +# local git tests +.gitlab-ci-local* + # local rendered documentation docs/build .spyproject diff --git a/travo/jupyter_course.py b/travo/jupyter_course.py index 81575cdf76d4068292b6f8e629579b9e7a2a9e0e..89aafc49b95e9fe4aa94f16d3fe1f5753d39db80 100644 --- a/travo/jupyter_course.py +++ b/travo/jupyter_course.py @@ -26,9 +26,9 @@ from .utils import run from .nbgrader_utils import ( remove_submission_gradebook, Gradebook, + merge_assignment_gradebook, ) - if TYPE_CHECKING: from . import dashboards @@ -267,13 +267,26 @@ class JupyterCourse(Course): ipynbs = self.convert_from_md_to_ipynb(path=source_path) release_path = assignment.release_path() with tempfile.TemporaryDirectory() as tmpdirname: - gitdir = os.path.join(release_path, ".git") - tmpgitdir = os.path.join(tmpdirname, ".git") db = os.path.join(release_path, ".gradebook.db") - self.log.info("Sauvegarde de l'historique git") - shutil.move(gitdir, tmpgitdir) + gitdir = os.path.join(release_path, ".git") + is_git = os.path.exists(gitdir) + if is_git: + tmpgitdir = os.path.join(tmpdirname, ".git") + self.log.info("Sauvegarde de l'historique git") + shutil.move(gitdir, tmpgitdir) assignment_basename = os.path.basename(assignment_name) try: + run( + [ + "nbgrader", + "generate_assignment", + "--force", + f"--CourseDirectory.source_directory={self.source_directory}", + f"--CourseDirectory.release_directory={self.release_directory}", + assignment_basename, + "--db='sqlite:///.gradebook.db'", + ] + ) run( [ "nbgrader", @@ -391,7 +404,6 @@ class JupyterCourse(Course): course.autograde("Assignment1", tag="firstname.lastname") """ - run(["nbgrader", "--version"]) assignment = os.path.basename(assignment_name) nbgrader_config = self.get_nbgrader_config() self.nbgrader_update_student_list(tag=tag) @@ -960,7 +972,6 @@ class JupyterCourse(Course): from nbgrader.api import Gradebook, MissingEntry from .nbgrader_utils import ( merge_submission_gradebook, - merge_assignment_gradebook, ) target = Gradebook("sqlite:///.gradebook.db")