diff options
author | kongr45gpen <electrovesta@gmail.com> | 2016-03-16 22:11:50 +0200 |
---|---|---|
committer | kongr45gpen <electrovesta@gmail.com> | 2016-03-16 22:11:50 +0200 |
commit | 9fdf9bac865da95aa38c62e3f308271e2e7fee50 (patch) | |
tree | 927de402e13ca933f3d486ee2b5b9768199e3336 /local | |
parent | af26850bcd3b7d9438a929ca01f0abd59af5bce9 (diff) | |
download | supybot_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.py | 10 | ||||
-rw-r--r-- | local/handler/MessageHandler.py | 5 | ||||
-rw-r--r-- | local/theme/DefaultTheme.py | 9 | ||||
-rw-r--r-- | local/utility.py | 2 |
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 |