summaryrefslogtreecommitdiff
path: root/leningrade.py
blob: 2bd454796e4b3713a1b21b0869930f6d137bf04a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
from worker import GitWorker, GiteaWorker, JOJWorker
from config import *


class Arguments:
    indv = True
    dir = True
    group = True
    joj = True
    tidy = True
    score = True
    hw = HOMEWORK_NO
    rejudge = HGROUP_NO


args = Arguments()

gitWorker = GitWorker(args, HGROUP, None, LANGUAGE, MANDATORY_FILES, OPTIONAL_FILES)
giteaWorker = GiteaWorker(args, GITEA_API_BASE, GITEA_ORG, GITEA_TOKEN, HGROUP)
jojWorker = JOJWorker(args, JOJ_COURSE_ID, JOJ_SESSION_ID, HGROUP)

JOJ_INFO = {
    "homeworkID": JOJ_HOMEWORK_ID,
    "lang": LANGUAGE,
    "problemInfo": [
        # filename, problem ID, # of test cases
        ("ex2.m", "61553cffb3c06a0006f45da3", 10),
        ("ex4.m", "61553e5fb3c06a0006f45da9", 10),
        ("ex5.m", "61553f8cb3c06a0006f45db2", 10),
        ("ex6.m", "6155414cb3c06a0006f45dc7", 10),
    ],
}

# individual
indvScores = gitWorker.checkIndv()
print(indvScores)
# group
groupScores = gitWorker.checkGroup()
tmpScores = giteaWorker.checkReview()
for key in groupScores.keys():
    groupScores[key] = {**groupScores.get(key, {}), **tmpScores.get(key, {})}
print(groupScores)
# JOJ
jojScores = jojWorker.checkGroupJOJ(JOJ_INFO)
print(jojScores)