diff options
Diffstat (limited to 'leningrade.py')
-rw-r--r-- | leningrade.py | 30 |
1 files changed, 26 insertions, 4 deletions
diff --git a/leningrade.py b/leningrade.py index 0644abe..7eda9a8 100644 --- a/leningrade.py +++ b/leningrade.py @@ -1,5 +1,5 @@ import argparse -from worker import GitWorker, GiteaWorker, JOJWorker +from worker import GitWorker, GiteaWorker, JOJWorker, CanvasWorker from problem_info import problem_info from config import * @@ -52,18 +52,40 @@ JOJ_INFO = { "problemInfo": problem_info(JOJ_HOMEWORK_ID), } +indvScores = {} +groupScores = {} +jojScores = {} + # individual if not cli_args.no_individual: indvScores = gitWorker.checkIndv() - print(indvScores) # group if not cli_args.no_group: groupScores = gitWorker.checkGroup() tmpScores = giteaWorker.checkReview() for key in groupScores.keys(): groupScores[key] = {**groupScores.get(key, {}), **tmpScores.get(key, {})} - print(groupScores) # JOJ (This will consume a lot of time when the code is in MATLAB) if not cli_args.no_joj: jojScores = jojWorker.checkGroupJOJ(JOJ_INFO) - print(jojScores) + +# initialize a CanvasWorker instance so that we can output grades +# the way they do it on Canvas +member_names = [member[1] for member in HGROUP_MEMBERS] +canvasWorker = CanvasWorker( + args, + RUBRIC, + None, + None, + member_names, + indvScores, + groupScores, + jojScores, +) +scoreInfo = canvasWorker.scores +for member in member_names: + print(f"===== {member} =====") + data = canvasWorker.generateHomeworkData(scoreInfo[member]) + print("Grade: " + str(data["submission"]["posted_grade"])) + print(data["comment"]["text_comment"]) + print("\n") |