diff options
author | BoYanZh <32470225+BoYanZh@users.noreply.github.com> | 2020-10-04 05:08:15 +0800 |
---|---|---|
committer | BoYanZh <32470225+BoYanZh@users.noreply.github.com> | 2020-10-04 05:08:15 +0800 |
commit | 40140668dee9a9852ef4cf8f46f6a6226f86178d (patch) | |
tree | 895449d44751d905db226911bf64c53a0db7abc1 /worker/CanvasWorker.py | |
parent | d367046ed14f96e782a053e0eb4be996639897ed (diff) |
update: rubric in comment
Diffstat (limited to 'worker/CanvasWorker.py')
-rw-r--r-- | worker/CanvasWorker.py | 30 |
1 files changed, 18 insertions, 12 deletions
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, |