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/handler | |
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/handler')
-rw-r--r-- | local/handler/CreateDeleteHandler.py | 23 | ||||
-rw-r--r-- | local/handler/GithubHandler.py | 3 |
2 files changed, 26 insertions, 0 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") |