summaryrefslogtreecommitdiff
path: root/VG101GradeHelper.py
diff options
context:
space:
mode:
authorBoYanZh <bomingzh@sjtu.edu.cn>2020-10-31 02:20:04 +0800
committerBoYanZh <bomingzh@sjtu.edu.cn>2020-10-31 02:20:04 +0800
commitbe29e385d39c1dce1f9516225ffb9e251895d751 (patch)
treed18d407e9b5ccbf8d9fcfadd054c4bbc7c99ee37 /VG101GradeHelper.py
parent13f7ad085c7089b896aa2d42c068d05124b2cde7 (diff)
update for C & multiple files uploading & code review checking
Diffstat (limited to 'VG101GradeHelper.py')
-rw-r--r--VG101GradeHelper.py22
1 files changed, 17 insertions, 5 deletions
diff --git a/VG101GradeHelper.py b/VG101GradeHelper.py
index 6f03a06..6890e1e 100644
--- a/VG101GradeHelper.py
+++ b/VG101GradeHelper.py
@@ -31,6 +31,8 @@ def parse():
action='store_true',
help='generate score')
parser.add_argument('-t', '--tidy', action='store_true', help='check tidy')
+ # TODO: automatically check moss
+ parser.add_argument('-o', '--moss', action='store_true', help='check moss')
parser.add_argument('-d',
'--dir',
action='store_true',
@@ -71,13 +73,25 @@ if __name__ == "__main__":
pwd = os.getcwd()
args = parse()
indvScores, groupScores, jojScores = {}, {}, {}
- gitWorker = GitWorker(args, hgroups, JOJ_INFO["lang"],
- [item[0] for item in JOJ_INFO["problemInfo"]
- ]) if args.indv or args.group or args.proj else None
+ mandatoryFiles = MANDATORY_FILES
+ mandatoryFiles.extend(
+ [fn for item in JOJ_INFO["problemInfo"] for fn in item[0]])
+ mandatoryFiles = list(set(mandatoryFiles))
+ gitWorker = GitWorker(
+ args, hgroups, JOJ_INFO["lang"], mandatoryFiles,
+ OPTIONAL_FILES) if args.indv or args.group or args.proj else None
+ giteaWorker = GiteaWorker(args, GITEA_BASE_URL, ORG_NAME,
+ GITEA_TOKEN, hgroups)
if args.indv:
indvScores = gitWorker.checkIndv()
if args.group:
groupScores = gitWorker.checkGroup()
+ tmpScores = giteaWorker.checkReview()
+ for key in groupScores.keys():
+ groupScores[key] = {
+ **groupScores.get(key, {}),
+ **tmpScores.get(key, {})
+ }
if args.joj:
jojWorker = JOJWorker(args, JOJ_COURSE_ID, SID, hgroups)
jojScores = jojWorker.checkGroupJOJ(JOJ_INFO)
@@ -90,6 +104,4 @@ if __name__ == "__main__":
if args.proj:
projScores = gitWorker.checkProj(args.proj, args.ms)
if args.feedback:
- giteaWorker = GiteaWorker(args, GITEA_BASE_URL, ORG_NAME,
- GITEA_TOKEN, hgroups)
giteaWorker.raiseIssues(projScores)