diff options
author | kongr45gpen <electrovesta@gmail.com> | 2017-01-04 17:30:03 +0200 |
---|---|---|
committer | kongr45gpen <electrovesta@gmail.com> | 2017-01-04 17:30:03 +0200 |
commit | 5e10087299609505d723bf3c51aa0913a13f2f3f (patch) | |
tree | 8ec6184d5f1a1b08d1cf8665f34e78b6392ac521 /local/handler | |
parent | e9f066d9bcd62bba23439011037d74f75dbb1062 (diff) | |
download | supybot_github-5e10087299609505d723bf3c51aa0913a13f2f3f.tar.gz supybot_github-5e10087299609505d723bf3c51aa0913a13f2f3f.tar.bz2 supybot_github-5e10087299609505d723bf3c51aa0913a13f2f3f.zip |
Smarter handling of unknown events
Diffstat (limited to 'local/handler')
-rw-r--r-- | local/handler/GithubHandler.py | 4 | ||||
-rw-r--r-- | local/handler/UnknownHandler.py | 22 |
2 files changed, 25 insertions, 1 deletions
diff --git a/local/handler/GithubHandler.py b/local/handler/GithubHandler.py index e767e49..362917f 100644 --- a/local/handler/GithubHandler.py +++ b/local/handler/GithubHandler.py @@ -35,6 +35,7 @@ import StatusHandler import TravisHandler import MessageHandler import ReleaseHandler +import UnknownHandler import AppVeyorHandler import CreateDeleteHandler import IssueCommentHandler @@ -185,7 +186,8 @@ class GithubHandler(BaseHTTPServer.BaseHTTPRequestHandler): elif 'eventName' in data: AppVeyorHandler.handle(data, theme) else: - theme.unknown(eventType) + data['eventType'] = eventType + UnknownHandler.handle(data, theme) theme.finalize() diff --git a/local/handler/UnknownHandler.py b/local/handler/UnknownHandler.py new file mode 100644 index 0000000..e158512 --- /dev/null +++ b/local/handler/UnknownHandler.py @@ -0,0 +1,22 @@ +from ..utility import * + +def handle(data, theme): + actor = data['sender']['login'] \ + if 'sender' in data and 'login' in data['sender'] \ + else None + action = data['action'] if 'action' in data else None + + url = None + for key in data: + if key not in ['repository', 'sender'] \ + and isinstance(data[key], dict)\ + and 'html_url' in data[key]: + url = data[key]['html_url'] + break + + theme.unknown( + eventType = data['eventType'], + action = action, + actor = actor, + url = url + ) |