aboutsummaryrefslogtreecommitdiffstats
path: root/local/handler
diff options
context:
space:
mode:
authorkongr45gpen <electrovesta@gmail.com>2015-01-02 12:52:32 +0200
committerkongr45gpen <electrovesta@gmail.com>2015-01-02 12:52:43 +0200
commit225c1bc1664bb8b56b2ff72a42d70433282eeaaa (patch)
treeef7af24e49d50224578f2f4f27632b52603e5049 /local/handler
parent8c86df341d04e289ea6b9e58d3af69027904d4db (diff)
downloadsupybot_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.py23
-rw-r--r--local/handler/GithubHandler.py3
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")

© 2014-2024 Faster IT GmbH | imprint | privacy policy