From 40140668dee9a9852ef4cf8f46f6a6226f86178d Mon Sep 17 00:00:00 2001 From: BoYanZh <32470225+BoYanZh@users.noreply.github.com> Date: Sun, 4 Oct 2020 05:08:15 +0800 Subject: update: rubric in comment --- worker/CanvasWorker.py | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) (limited to 'worker/CanvasWorker.py') diff --git a/worker/CanvasWorker.py b/worker/CanvasWorker.py index 1d86189..99ad61c 100644 --- a/worker/CanvasWorker.py +++ b/worker/CanvasWorker.py @@ -9,6 +9,7 @@ class CanvasWorker(): rubric, canvasToken, courseID, + names, indvScores, groupScores, jojScores, @@ -20,23 +21,26 @@ class CanvasWorker(): self.users = self.course.get_users() self.assignments = self.course.get_assignments() self.logger = logger - if not indvScores or not groupScores or not jojScores: - raise Exception("Not enough scores") - self.scores = indvScores - for key, value in self.scores.items(): + self.scores = {} + self.names = names + for key in names: self.scores[key] = { - **value, - **groupScores[key], - **jojScores[key] + **indvScores.get(key, {}), + **groupScores.get(key, {}), + **jojScores.get(key, {}) } def generateHomeworkData(self, scoreInfo): score = 0 comment = [] - for key, value in self.rubric: - for _ in range(scoreInfo[key]): - score -= value[0] - comment.append(value[1]) + for key, value in self.rubric.items(): + for _ in range(scoreInfo.get(key, 0)): + score += value[0] + comment.append(f"{value[1]}, {value[0]}") + comment.extend( + scoreInfo.get("indvComment", []) + + scoreInfo.get("groupComment", []) + + scoreInfo.get("jojComment", [])) if not comment: comment = ['good job'] return { 'submission': { @@ -56,8 +60,10 @@ class CanvasWorker(): lambda user: user.id == submission.user_id) if currentUser is None: continue name = currentUser.name.strip() + if name not in self.names: continue data = self.generateHomeworkData(self.scores[name]) - submission.edit(**data) + self.logger.debug(data.__repr__()) + # submission.edit(**data) def exportScores(self, fileName): json.dump(self.scores, -- cgit v1.2.3