aboutsummaryrefslogtreecommitdiffstats
path: root/local
diff options
context:
space:
mode:
authorkongr45gpen <electrovesta@gmail.com>2016-03-16 22:11:50 +0200
committerkongr45gpen <electrovesta@gmail.com>2016-03-16 22:11:50 +0200
commit9fdf9bac865da95aa38c62e3f308271e2e7fee50 (patch)
tree927de402e13ca933f3d486ee2b5b9768199e3336 /local
parentaf26850bcd3b7d9438a929ca01f0abd59af5bce9 (diff)
downloadsupybot_github-9fdf9bac865da95aa38c62e3f308271e2e7fee50.tar.gz
supybot_github-9fdf9bac865da95aa38c62e3f308271e2e7fee50.tar.bz2
supybot_github-9fdf9bac865da95aa38c62e3f308271e2e7fee50.zip
Allow sending arbitrary messages
Diffstat (limited to 'local')
-rw-r--r--local/handler/GithubHandler.py10
-rw-r--r--local/handler/MessageHandler.py5
-rw-r--r--local/theme/DefaultTheme.py9
-rw-r--r--local/utility.py2
4 files changed, 22 insertions, 4 deletions
diff --git a/local/handler/GithubHandler.py b/local/handler/GithubHandler.py
index 53ea740..e1e6394 100644
--- a/local/handler/GithubHandler.py
+++ b/local/handler/GithubHandler.py
@@ -30,6 +30,7 @@ import WikiHandler
import IssueHandler
import StatusHandler
import TravisHandler
+import MessageHandler
import CreateDeleteHandler
import IssueCommentHandler
@@ -133,9 +134,10 @@ class GithubHandler(BaseHTTPServer.BaseHTTPRequestHandler):
repo = {}
- repo['name'] = data.get('repository',{}).get('name')
- repo['owner'] = data.get('repository',{}).get('owner',{}).get('login')
- repo['fork'] = data.get('repository',{}).get('fork', False)
+ repo['unknown'] = 'repository' not in data
+ repo['name'] = data.get('repository',{}).get('name')
+ repo['owner'] = data.get('repository',{}).get('owner',{}).get('login')
+ repo['fork'] = data.get('repository',{}).get('fork', False)
theme = klass(repo, brackets)
#
@@ -159,6 +161,8 @@ class GithubHandler(BaseHTTPServer.BaseHTTPRequestHandler):
IssueHandler.handle(data, theme)
elif 'ref_type' in data:
CreateDeleteHandler.handle(data, theme)
+ elif 'message' in data:
+ MessageHandler.handle(data, theme)
else:
theme.unknown(eventType)
diff --git a/local/handler/MessageHandler.py b/local/handler/MessageHandler.py
new file mode 100644
index 0000000..c3433b4
--- /dev/null
+++ b/local/handler/MessageHandler.py
@@ -0,0 +1,5 @@
+from ..utility import *
+
+def handle(data, theme):
+ if configValue('allowArbitraryMessages'):
+ theme.message(data['message'])
diff --git a/local/theme/DefaultTheme.py b/local/theme/DefaultTheme.py
index a0e797c..2a17845 100644
--- a/local/theme/DefaultTheme.py
+++ b/local/theme/DefaultTheme.py
@@ -154,6 +154,15 @@ class DefaultTheme(Theme):
self.enclose(url)
))
+ def message(self, message):
+ if self.repoInfo['unknown']:
+ self.msgs.append(message)
+ else:
+ self.msgs.append( "%s: %s" % (
+ self.repo(),
+ message
+ ))
+
def unknown(self, eventType):
self.msgs.append( "%s: %s happened" % (
self.repo(),
diff --git a/local/utility.py b/local/utility.py
index 8ad2a61..ef37c28 100644
--- a/local/utility.py
+++ b/local/utility.py
@@ -39,7 +39,7 @@ def addConfigOverride(name, value):
name = name.strip().lower()
- if name in [ 'passcode', 'disallowConfigOverride' ]:
+ if name in [ 'passcode', 'disallowConfigOverride', 'allowArbitraryMessages' ]:
return
globals.configOverrides[name] = value

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