pass git_webhook urls up to __init__.py to be shortened
This commit is contained in:
parent
2b4f5dc75b
commit
86147ded77
4 changed files with 52 additions and 47 deletions
|
@ -118,10 +118,15 @@ class Module(ModuleManager.BaseModule):
|
|||
if repo_name and hide_org:
|
||||
source = repo_name
|
||||
|
||||
for output in outputs:
|
||||
for output, url in outputs:
|
||||
output = "(%s) %s" % (
|
||||
utils.irc.color(source, colors.COLOR_REPO), output)
|
||||
|
||||
if url:
|
||||
shorturl = self.exports.get_one("shorturl")(server, url,
|
||||
context=channel) or url
|
||||
output = "%s - %s" % (output, shorturl)
|
||||
|
||||
if channel.get_setting("git-prevent-highlight", False):
|
||||
output = self._prevent_highlight(server, channel,
|
||||
output)
|
||||
|
|
|
@ -102,7 +102,7 @@ class Gitea(object):
|
|||
return self.ping(data)
|
||||
|
||||
def ping(self, data):
|
||||
return ["Received new webhook"]
|
||||
return [["Received new webhook", None]]
|
||||
|
||||
def _short_hash(self, hash):
|
||||
return hash[:8]
|
||||
|
@ -120,16 +120,15 @@ class Gitea(object):
|
|||
message = commit["message"].split("\n")[0].strip()
|
||||
url = commit["url"]
|
||||
|
||||
outputs.append(
|
||||
"%s pushed %s to %s: %s - %s"
|
||||
% (author, hash_colored, branch, message, url))
|
||||
outputs.append(["%s pushed %s to %s: %s"
|
||||
% (author, hash_colored, branch, message), url])
|
||||
else:
|
||||
first_id = data["before"]
|
||||
last_id = data["commits"][-1]["id"]
|
||||
url = data["compare_url"]
|
||||
|
||||
outputs.append("%s pushed %d commits to %s - %s"
|
||||
% (author, len(data["commits"]), branch, url))
|
||||
outputs.append(["%s pushed %d commits to %s"
|
||||
% (author, len(data["commits"]), branch), url])
|
||||
|
||||
return outputs
|
||||
|
||||
|
@ -160,8 +159,8 @@ class Gitea(object):
|
|||
pr_title = data["pull_request"]["title"]
|
||||
author = utils.irc.bold(data["sender"]["login"])
|
||||
url = data["pull_request"]["html_url"]
|
||||
return ["[PR] %s %s: %s - %s" % (
|
||||
author, action_desc, pr_title, url)]
|
||||
return [["[PR] %s %s: %s" %
|
||||
(author, action_desc, pr_title), url]]
|
||||
|
||||
|
||||
def issues(self, full_name, data):
|
||||
|
@ -173,37 +172,38 @@ class Gitea(object):
|
|||
url = "%s/issues/%d" % (data["repository"]["html_url"],
|
||||
data["issue"]["number"])
|
||||
|
||||
return ["[issue] %s %s %s: %s - %s" %
|
||||
(author, action, number, issue_title, url)]
|
||||
return [["[issue] %s %s %s: %s" %
|
||||
(author, action, number, issue_title), url]]
|
||||
def issue_comment(self, full_name, data):
|
||||
if "changes" in data:
|
||||
# don't show this event when nothing has actually changed
|
||||
if data["changes"]["body"]["from"] == data["comment"]["body"]:
|
||||
return
|
||||
return []
|
||||
|
||||
number = utils.irc.color("#%s" % data["issue"]["number"], colors.COLOR_ID)
|
||||
number = utils.irc.color("#%s" % data["issue"]["number"],
|
||||
colors.COLOR_ID)
|
||||
action = data["action"]
|
||||
issue_title = data["issue"]["title"]
|
||||
type = "PR" if data["issue"]["pull_request"] else "issue"
|
||||
commenter = utils.irc.bold(data["sender"]["login"])
|
||||
url = data["comment"]["html_url"]
|
||||
return ["[%s] %s %s on %s: %s - %s" %
|
||||
(type, commenter, COMMENT_ACTIONS[action], number, issue_title,
|
||||
url)]
|
||||
return [["[%s] %s %s on %s: %s" %
|
||||
(type, commenter, COMMENT_ACTIONS[action], number, issue_title),
|
||||
url]]
|
||||
|
||||
def create(self, full_name, data):
|
||||
ref = data["ref"]
|
||||
ref_color = utils.irc.color(ref, colors.COLOR_BRANCH)
|
||||
type = data["ref_type"]
|
||||
sender = utils.irc.bold(data["sender"]["login"])
|
||||
return ["%s created a %s: %s" % (sender, type, ref_color)]
|
||||
return [["%s created a %s: %s" % (sender, type, ref_color), None]]
|
||||
|
||||
def delete(self, full_name, data):
|
||||
ref = data["ref"]
|
||||
ref_color = utils.irc.color(ref, colors.COLOR_BRANCH)
|
||||
type = data["ref_type"]
|
||||
sender = utils.irc.bold(data["sender"]["login"])
|
||||
return ["%s deleted a %s: %s" % (sender, type, ref_color)]
|
||||
return [["%s deleted a %s: %s" % (sender, type, ref_color)], None]
|
||||
|
||||
def repository(self, full_name, data):
|
||||
return []
|
||||
|
@ -215,12 +215,12 @@ class Gitea(object):
|
|||
if name:
|
||||
name = ": %s" % name
|
||||
author = utils.irc.bold(data["release"]["author"]["login"])
|
||||
return ["%s %s a release%s" % (author, action, name)]
|
||||
return [["%s %s a release%s" % (author, action, name)], None]
|
||||
|
||||
def fork(self, full_name, data):
|
||||
forker = utils.irc.bold(data["sender"]["login"])
|
||||
fork_full_name = utils.irc.color(data["repository"]["full_name"],
|
||||
utils.consts.LIGHTBLUE)
|
||||
url = data["repository"]["html_url"]
|
||||
return ["%s forked into %s - %s" %
|
||||
(forker, fork_full_name, url)]
|
||||
return [["%s forked into %s" %
|
||||
(forker, fork_full_name), url]]
|
||||
|
|
|
@ -120,36 +120,38 @@ class GitHub(object):
|
|||
return EVENT_CATEGORIES.get(event, [event])
|
||||
|
||||
def webhook(self, full_name, event, data, headers):
|
||||
out = []
|
||||
if event == "push":
|
||||
return self.push(full_name, data)
|
||||
out = self.push(full_name, data)
|
||||
elif event == "commit_comment":
|
||||
return self.commit_comment(full_name, data)
|
||||
out = self.commit_comment(full_name, data)
|
||||
elif event == "pull_request":
|
||||
return self.pull_request(full_name, data)
|
||||
out = self.pull_request(full_name, data)
|
||||
elif event == "pull_request_review":
|
||||
return self.pull_request_review(full_name, data)
|
||||
out = self.pull_request_review(full_name, data)
|
||||
elif event == "pull_request_review_comment":
|
||||
return self.pull_request_review_comment(full_name, data)
|
||||
out = self.pull_request_review_comment(full_name, data)
|
||||
elif event == "issue_comment":
|
||||
return self.issue_comment(full_name, data)
|
||||
out = self.issue_comment(full_name, data)
|
||||
elif event == "issues":
|
||||
return self.issues(full_name, data)
|
||||
out = self.issues(full_name, data)
|
||||
elif event == "create":
|
||||
return self.create(full_name, data)
|
||||
out = self.create(full_name, data)
|
||||
elif event == "delete":
|
||||
return self.delete(full_name, data)
|
||||
out = self.delete(full_name, data)
|
||||
elif event == "release":
|
||||
return self.release(full_name, data)
|
||||
out = self.release(full_name, data)
|
||||
elif event == "check_run":
|
||||
return self.check_run(data)
|
||||
out = self.check_run(data)
|
||||
elif event == "fork":
|
||||
return self.fork(full_name, data)
|
||||
out = self.fork(full_name, data)
|
||||
elif event == "ping":
|
||||
return self.ping(data)
|
||||
out = self.ping(data)
|
||||
elif event == "membership":
|
||||
return self.membership(organisation, data)
|
||||
out = self.membership(organisation, data)
|
||||
elif event == "watch":
|
||||
return self.watch(data)
|
||||
out = self.watch(data)
|
||||
return list(zip(out, [None]*len(out)))
|
||||
|
||||
def _short_url(self, url):
|
||||
self.log.debug("git.io shortening: %s" % url)
|
||||
|
|
|
@ -108,16 +108,15 @@ class GitLab(object):
|
|||
message = commit["message"].split("\n")[0].strip()
|
||||
url = commit["url"]
|
||||
|
||||
outputs.append(
|
||||
"%s pushed %s to %s: %s - %s"
|
||||
% (author, hash_colored, branch, message, url))
|
||||
outputs.append(["%s pushed %s to %s: %s - %s"
|
||||
% (author, hash_colored, branch, message), url])
|
||||
else:
|
||||
first_id = data["before"]
|
||||
last_id = data["after"]
|
||||
url = data["compare_url"]
|
||||
|
||||
outputs.append("%s pushed %d commits to %s"
|
||||
% (author, len(data["commits"]), branch))
|
||||
outputs.append(["%s pushed %d commits to %s"
|
||||
% (author, len(data["commits"]), branch), None])
|
||||
|
||||
return outputs
|
||||
|
||||
|
@ -143,8 +142,7 @@ class GitLab(object):
|
|||
pr_title = data["object_attributes"]["title"]
|
||||
author = utils.irc.bold(data["user"]["username"])
|
||||
url = data["object_attributes"]["url"]
|
||||
return ["[MR] %s %s: %s - %s" % (
|
||||
author, action_desc, pr_title, url)]
|
||||
return [["[MR] %s %s: %s" % (author, action_desc, pr_title), url]]
|
||||
|
||||
def issues(self, full_name, data):
|
||||
number = utils.irc.color("#%s" % data["object_attributes"]["iid"],
|
||||
|
@ -154,8 +152,8 @@ class GitLab(object):
|
|||
author = utils.irc.bold(data["user"]["username"])
|
||||
url = data["object_attributes"]["url"]
|
||||
|
||||
return ["[issue] %s %s %s: %s - %s" %
|
||||
(author, action, number, issue_title, url)]
|
||||
return [["[issue] %s %s %s: %s - %s" %
|
||||
(author, action, number, issue_title), url]]
|
||||
|
||||
def note(self, full_name, data):
|
||||
type = data["object_attributes"]["noteable_type"]
|
||||
|
@ -171,5 +169,5 @@ class GitLab(object):
|
|||
issue_title = data["issue"]["title"]
|
||||
commenter = utils.irc.bold(data["user"]["username"])
|
||||
url = data["object_attributes"]["url"]
|
||||
return ["[%s] %s commented on %s: %s - %s" %
|
||||
(type, commenter, number, issue_title, url)]
|
||||
return [["[%s] %s commented on %s: %s" %
|
||||
(type, commenter, number, issue_title), url]]
|
||||
|
|
Loading…
Reference in a new issue