aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkongr45gpen <electrovesta@gmail.com>2014-05-11 14:33:34 +0300
committerkongr45gpen <electrovesta@gmail.com>2014-05-11 14:33:34 +0300
commit7a959464a488e539a442bdbcefb9daa5684f44ac (patch)
treecc58ccd8821394191bdf4cbc5cf1d8ea717d71e0
parent9b117389606bbe5c398c52bf7001c0324ba83183 (diff)
downloadsupybot_github-7a959464a488e539a442bdbcefb9daa5684f44ac.tar.gz
supybot_github-7a959464a488e539a442bdbcefb9daa5684f44ac.tar.bz2
supybot_github-7a959464a488e539a442bdbcefb9daa5684f44ac.zip
Add setting to allow config value overrides on the URL
-rw-r--r--__init__.py4
-rw-r--r--config.py4
-rw-r--r--local/globals.py2
-rw-r--r--local/handler/GithubHandler.py6
-rw-r--r--local/handler/PushHandler.py8
-rw-r--r--local/utility.py9
6 files changed, 29 insertions, 4 deletions
diff --git a/__init__.py b/__init__.py
index 137a950..9cd0dd5 100644
--- a/__init__.py
+++ b/__init__.py
@@ -36,6 +36,7 @@ import local.handler.StatusHandler
import local.handler.TravisHandler
import local.handler.IssueCommentHandler
import local.utility
+import local.globals
reload(RequestHandler)
reload(local.handler.PushHandler)
reload(local.handler.WikiHandler)
@@ -44,6 +45,9 @@ reload(local.handler.StatusHandler)
reload(local.handler.TravisHandler)
reload(local.handler.IssueCommentHandler)
reload(local.utility)
+reload(local.globals)
+
+local.globals.init()
if world.testing:
import test
diff --git a/config.py b/config.py
index 1c8f0da..fac9aa2 100644
--- a/config.py
+++ b/config.py
@@ -33,6 +33,10 @@ conf.registerGlobalValue(Github, 'disallowChannelOverride',
registry.Boolean(False,
"""Don't let the user select the channel where the messages will be sent to on the URL"""))
+conf.registerGlobalValue(Github, 'disallowConfigOverride',
+ registry.Boolean(True,
+ """Don't let the user change config values from the URL"""))
+
conf.registerGlobalValue(Github, 'showMilestone',
registry.Boolean(True,
"""Show the name of the milestone when reporting issues or issue comments"""))
diff --git a/local/globals.py b/local/globals.py
index faf425c..55addab 100644
--- a/local/globals.py
+++ b/local/globals.py
@@ -1,3 +1,5 @@
def init():
global messageList
+ global configOverrides
messageList = []
+ configOverrides = {}
diff --git a/local/handler/GithubHandler.py b/local/handler/GithubHandler.py
index fabe544..13410c3 100644
--- a/local/handler/GithubHandler.py
+++ b/local/handler/GithubHandler.py
@@ -62,6 +62,8 @@ class GithubHandler(BaseHTTPServer.BaseHTTPRequestHandler):
and configValue('passcode').strip().lower() != 'null' \
and configValue('passcode').strip().lower() != 'no'
+ resetConfigOverrides()
+
# Analyse the URL
i = 0
for part in path:
@@ -77,6 +79,10 @@ class GithubHandler(BaseHTTPServer.BaseHTTPRequestHandler):
if part.startswith("#") and not configValue('disallowChannelOverride'):
channel = part
+ elif '=' in part and not configValue('disallowConfigOverride'):
+ explosion = part.split('=', 1)
+ addConfigOverride(explosion[0], explosion[1])
+
i+=1
diff --git a/local/handler/PushHandler.py b/local/handler/PushHandler.py
index 12c9455..f7c1141 100644
--- a/local/handler/PushHandler.py
+++ b/local/handler/PushHandler.py
@@ -85,14 +85,14 @@ def handle(data):
if configValue("tagShowCommitMsg"):
commitMsg = ircutils.mircColor(" (%s)" % (maxLen(data['head_commit']['message'].splitlines()[0],75)),"brown")
commitInfo = " %s %s%s as" % (branchFrom, ircutils.bold(data['head_commit']['id'][0:6]), commitMsg)
- msgs.append( ircmsgs.privmsg(channel, "%s: %s %s%s %s%s" % (
+ msgs.append("%s: %s %s%s %s%s" % (
ircutils.bold(data['repository']['name']),
ircutils.mircColor(data['pusher']['name'], "green"),
colorAction(action),
commitInfo,
ircutils.bold(ircutils.mircColor(branch, "blue")),
urls,
- )) )
+ ))
elif isMerge:
distinctMessage = ""
if configValue("hidePush",None) == False and regularCommitCount > 0:
@@ -110,7 +110,7 @@ def handle(data):
urls
))
else:
- msgs.append( ircmsgs.privmsg(channel, "%s: %s %s branch %s%s%s%s" % (
+ msgs.append( "%s: %s %s branch %s%s%s%s" % (
ircutils.bold(data['repository']['name']),
ircutils.mircColor(data['pusher']['name'], "green"),
colorAction(action),
@@ -118,7 +118,7 @@ def handle(data):
branchFrom,
urls,
colon
- )) )
+ ))
for commit in data['commits']:
if 'username' in commit['author']:
diff --git a/local/utility.py b/local/utility.py
index fa8ca28..1c478c3 100644
--- a/local/utility.py
+++ b/local/utility.py
@@ -24,8 +24,17 @@ def registryValue(plugin, name, channel=None, value=True):
return group
def configValue(name, channel=None, repo=None, type=None, module=None):
+ if globals.configOverrides and name in globals.configOverrides:
+ return globals.configOverrides[name]
return registryValue("Github", name, channel)
+def addConfigOverride(name, value):
+ if not 'override' in name.lower():
+ globals.configOverrides[name] = value
+
+def resetConfigOverrides():
+ globals.configOverrides = {}
+
def plural(number, s, p):
if number != 1:
return p

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