diff options
author | BoYanZh <bomingzh@sjtu.edu.cn> | 2020-10-31 02:20:04 +0800 |
---|---|---|
committer | BoYanZh <bomingzh@sjtu.edu.cn> | 2020-10-31 02:20:04 +0800 |
commit | be29e385d39c1dce1f9516225ffb9e251895d751 (patch) | |
tree | d18d407e9b5ccbf8d9fcfadd054c4bbc7c99ee37 /worker/GiteaWorker.py | |
parent | 13f7ad085c7089b896aa2d42c068d05124b2cde7 (diff) |
update for C & multiple files uploading & code review checking
Diffstat (limited to 'worker/GiteaWorker.py')
-rw-r--r-- | worker/GiteaWorker.py | 22 |
1 files changed, 22 insertions, 0 deletions
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 |