From be29e385d39c1dce1f9516225ffb9e251895d751 Mon Sep 17 00:00:00 2001 From: BoYanZh Date: Sat, 31 Oct 2020 02:20:04 +0800 Subject: update for C & multiple files uploading & code review checking --- worker/GiteaWorker.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'worker/GiteaWorker.py') diff --git a/worker/GiteaWorker.py b/worker/GiteaWorker.py index 55dd41c..1b85ea9 100644 --- a/worker/GiteaWorker.py +++ b/worker/GiteaWorker.py @@ -11,6 +11,11 @@ class GiteaWorker(): item[1]: item[0] for items in hgroups.values() for item in items } + self.ids = { + item[0]: item[1] + for items in hgroups.values() for item in items + } + self.hgroups = hgroups self.baseUrl = baseUrl self.orgName = orgName self.sess = requests.Session() @@ -29,3 +34,20 @@ class GiteaWorker(): } req = self.sess.post(url, data) self.logger.debug(f"{repoName} issue {req.status_code} {req.text}") + + def checkReview(self): + hwNum = self.args.hw + res = {key: {"noReview": 1} for key in self.names.keys()} + for repoName, users in self.hgroups.items(): + url = f"{self.baseUrl}/repos/{self.orgName}/{repoName}/pulls" + pulls = self.sess.get(url).json() + for pull in pulls: + if not pull["title"].startswith(f"h{hwNum}"): continue + url = f"{self.baseUrl}/repos/{self.orgName}/{repoName}/pulls/{pull['number']}/reviews" + self.logger.info(f"{repoName} h{hwNum} get pr: {url}") + for item in self.sess.get(url).json(): + stuID = ''.join( + [s for s in item['user']['full_name'] if s.isdigit()]) + name = self.ids[stuID] + res[name]["noReview"] = 0 + return res \ No newline at end of file -- cgit v1.2.3