summaryrefslogtreecommitdiff
path: root/worker/GiteaWorker.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 /worker/GiteaWorker.py
parent13f7ad085c7089b896aa2d42c068d05124b2cde7 (diff)
update for C & multiple files uploading & code review checking
Diffstat (limited to 'worker/GiteaWorker.py')
-rw-r--r--worker/GiteaWorker.py22
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