summaryrefslogtreecommitdiff
path: root/worker/GiteaWorker.py
diff options
context:
space:
mode:
Diffstat (limited to 'worker/GiteaWorker.py')
-rw-r--r--worker/GiteaWorker.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/worker/GiteaWorker.py b/worker/GiteaWorker.py
new file mode 100644
index 0000000..7a2c79c
--- /dev/null
+++ b/worker/GiteaWorker.py
@@ -0,0 +1,34 @@
+from util import Logger, getProjRepoName
+import requests
+
+
+class GiteaWorker():
+ def __init__(self, args, baseUrl, orgName, token, hgroups,
+ logger=Logger()):
+ self.args = args
+ # self.id_ = id_
+ # self.name = name
+ # self.projNum = projNum
+ # self.projScores = projScores
+ self.logger = logger
+ self.names = {
+ item[1]: item[0]
+ for items in hgroups.values() for item in items
+ }
+ self.baseUrl = baseUrl
+ self.orgName = orgName
+ self.sess = requests.Session()
+ self.sess.params.update({"access_token": token})
+
+ def raiseIssues(self, scores):
+ for key, value in scores.items():
+ if not value.get('projComment'): continue
+ id_ = self.names[key]
+ repoName = getProjRepoName([id_, key, self.args.proj])
+ url = f"{self.baseUrl}/repos/{self.orgName}/{repoName}/issues"
+ data = {
+ "title": f"m{self.args.ms} feedback",
+ "body": '\n'.join(value.get('projComment')),
+ }
+ req = self.sess.post(url, data)
+ self.logger.debug(f"{repoName} issue {req.status_code} {req.text}")