diff options
author | kongr45gpen <electrovesta@gmail.com> | 2015-01-02 12:52:32 +0200 |
---|---|---|
committer | kongr45gpen <electrovesta@gmail.com> | 2015-01-02 12:52:43 +0200 |
commit | 225c1bc1664bb8b56b2ff72a42d70433282eeaaa (patch) | |
tree | ef7af24e49d50224578f2f4f27632b52603e5049 /local | |
parent | 8c86df341d04e289ea6b9e58d3af69027904d4db (diff) | |
download | supybot_github-225c1bc1664bb8b56b2ff72a42d70433282eeaaa.tar.gz supybot_github-225c1bc1664bb8b56b2ff72a42d70433282eeaaa.tar.bz2 supybot_github-225c1bc1664bb8b56b2ff72a42d70433282eeaaa.zip |
Add support for `create` and `delete` Github API events
Diffstat (limited to 'local')
-rw-r--r-- | local/handler/CreateDeleteHandler.py | 23 | ||||
-rw-r--r-- | local/handler/GithubHandler.py | 3 | ||||
-rw-r--r-- | local/theme/DefaultTheme.py | 8 |
3 files changed, 30 insertions, 4 deletions
diff --git a/local/handler/CreateDeleteHandler.py b/local/handler/CreateDeleteHandler.py new file mode 100644 index 0000000..fc6f0cb --- /dev/null +++ b/local/handler/CreateDeleteHandler.py @@ -0,0 +1,23 @@ +from ..utility import * + +def handle(data, theme): + created = 'master_branch' in data + + if data['ref_type'] == 'tag': + theme.tag( + repo = data['repository']['name'], + actor = data['sender']['login'], + action = "tagged" if created else "deleted tag", + to = data['ref'], + onlyDeleted = True, + url = getShortURL("%s/releases/tag/%s" % (data['repository']['html_url'], data['ref'])) if created else getShortURL("%s/tags" % data['repository']['html_url']) + ) + else: + theme.branch( + repo = data['repository']['name'], + actor = data['sender']['login'], + action = "created" if created else "deleted", + count = 0, + to = data['ref'], + url = getShortURL("%s/tree/%s" % (data['repository']['html_url'], data['ref'])) if created else getShortURL("%s/branches" % data['repository']['html_url']) + ) diff --git a/local/handler/GithubHandler.py b/local/handler/GithubHandler.py index a45f22c..d0835dc 100644 --- a/local/handler/GithubHandler.py +++ b/local/handler/GithubHandler.py @@ -28,6 +28,7 @@ import WikiHandler import IssueHandler import StatusHandler import TravisHandler +import CreateDeleteHandler import IssueCommentHandler from .. import theme as themes @@ -129,6 +130,8 @@ class GithubHandler(BaseHTTPServer.BaseHTTPRequestHandler): IssueCommentHandler.handle(data, theme) else: IssueHandler.handle(data, theme) + elif 'ref_type' in data: + CreateDeleteHandler.handle(data, theme) else: msgs.append("Something happened") diff --git a/local/theme/DefaultTheme.py b/local/theme/DefaultTheme.py index c5e827c..1645cf4 100644 --- a/local/theme/DefaultTheme.py +++ b/local/theme/DefaultTheme.py @@ -48,18 +48,18 @@ class DefaultTheme(Theme): ' (%s)' % url if url else '' )) - def branch(self, repo, actor, action, count, base, to, url): - self.msgs.append( "%s: %s %s branch %s from %s%s%s" % ( + def branch(self, repo, actor, action, count, to, url, base = None): + self.msgs.append( "%s: %s %s branch %s%s%s%s" % ( ircutils.bold(repo), ircutils.mircColor(actor, "green"), colorAction(action), ircutils.bold(ircutils.mircColor(to, "blue")), - ircutils.bold(ircutils.mircColor(base, "blue")), + ' from %s' % ircutils.bold(ircutils.mircColor(base, "blue")) if base else '', ' (%s)' % url if url else '', ':' if count else '' )) - def tag(self, repo, actor, action, base, to, onlyDeleted, headMsg, headId, url): + def tag(self, repo, actor, action, to, onlyDeleted, base = None, headMsg = None, headId = None, url = None): if onlyDeleted: commitInfo = "" else: |