summaryrefslogtreecommitdiff
path: root/leningrade.py
diff options
context:
space:
mode:
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")