summaryrefslogtreecommitdiff
path: root/leningrade.py
diff options
context:
space:
mode:
authorFrederick Yin <fred.yin@sjtu.edu.cn>2021-10-11 20:50:43 +0800
committerFrederick Yin <fred.yin@sjtu.edu.cn>2021-10-11 20:51:25 +0800
commit1397f8e79c7ae1f0914acc46c713cc69381351db (patch)
treecd76ca3e438bad2a8a6ac2ba2664c9facfddf4c9 /leningrade.py
parent519b486f53032e8e41fe32ef550cd4ea94f2d7d8 (diff)
Output canvas-style feedback
Even the typo ("Genral") is preserved.
Diffstat (limited to 'leningrade.py')
-rw-r--r--leningrade.py30
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")