diff --git a/e2xgrader/exchange/submit.py b/e2xgrader/exchange/submit.py index 664244d7..c6141673 100644 --- a/e2xgrader/exchange/submit.py +++ b/e2xgrader/exchange/submit.py @@ -19,7 +19,7 @@ from nbgrader.exchange.default import ExchangeSubmit from nbgrader.utils import check_mode, get_username -from traitlets import Type +from traitlets import List, Type from ..exporters import SubmissionExporter from ..utils.mode import E2xGraderMode, infer_e2xgrader_mode @@ -46,6 +46,15 @@ class E2xExchangeSubmit(E2xExchange, ExchangeSubmit): ), ).tag(config=True) + exclude_hashcode_subfolders = List( + [".ipynb_checkpoints", ".history"], + help=dedent( + """ + List of subfolders to exclude from the hash calculation. + """ + ), + ).tag(config=True) + def init_dest(self): if self.coursedir.course_id == "": self.fail("No course id specified. Re-run with --course flag.") @@ -148,7 +157,7 @@ def create_exam_files(self): self.src_path, method="sha1", exclude_files=[self.timestamp_file, f"{username}_info.txt", "*.html"], - exclude_subfolders=[".ipynb_checkpoints"], + exclude_subfolders=self.exclude_hashcode_subfolders, output_file="SHA1SUM.txt", ) hashcode = truncate_hashcode(