diff options
-rw-r--r-- | leningrade.py | 30 | ||||
-rw-r--r-- | worker/CanvasWorker.py | 11 |
2 files changed, 33 insertions, 8 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") diff --git a/worker/CanvasWorker.py b/worker/CanvasWorker.py index 3ff60e3..0f785ca 100644 --- a/worker/CanvasWorker.py +++ b/worker/CanvasWorker.py @@ -1,6 +1,6 @@ -from canvasapi import Canvas +# from canvasapi import Canvas from util import first, Logger -import json +# import json class CanvasWorker(): @@ -17,10 +17,12 @@ class CanvasWorker(): logger=Logger()): self.args = args self.rubric = rubric + """ self.canvas = Canvas("https://umjicanvas.com/", canvasToken) self.course = self.canvas.get_course(courseID) self.users = self.course.get_users() self.assignments = self.course.get_assignments() + """ self.logger = logger self.scores = {} if totalScores is None: @@ -59,7 +61,7 @@ class CanvasWorker(): 'text_comment': '\n'.join(comment) }, } - + """ def grade2Canvas(self): hwNum = self.args.hw assignment = first(self.assignments, @@ -80,4 +82,5 @@ class CanvasWorker(): open(fileName, "w"), ensure_ascii=False, indent=4) - self.logger.debug(f"score dump to {fileName} succeed")
\ No newline at end of file + self.logger.debug(f"score dump to {fileName} succeed") + """
\ No newline at end of file |