From b243c83e4127efdd2e714fb76aae3316fc6b96da Mon Sep 17 00:00:00 2001 From: James Lu Date: Thu, 5 Feb 2015 20:26:14 -0800 Subject: [PATCH] Admin/Owner: Use standard substitution for part/quit messages --- plugins/Admin/config.py | 5 +++-- plugins/Admin/plugin.py | 2 +- plugins/Owner/config.py | 5 +++-- plugins/Owner/plugin.py | 6 +++--- src/ircutils.py | 3 ++- 5 files changed, 12 insertions(+), 9 deletions(-) diff --git a/plugins/Admin/config.py b/plugins/Admin/config.py index bab52ad1e..86023660e 100644 --- a/plugins/Admin/config.py +++ b/plugins/Admin/config.py @@ -45,9 +45,10 @@ def configure(advanced): Admin = conf.registerPlugin('Admin') conf.registerChannelValue(Admin, 'partMsg', - registry.String('%version%', _("""Determines what part message should be + registry.String('$version', _("""Determines what part message should be used by default. If the part command is called without a part message, this will be used. If this value is empty, then no part message will - be used (they are optional in the IRC protocol)."""))) + be used (they are optional in the IRC protocol). The standard + substitutions ($version, $nick, etc.) are all handled appropriately."""))) # vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79: diff --git a/plugins/Admin/plugin.py b/plugins/Admin/plugin.py index fe9281f5a..634a0ede2 100644 --- a/plugins/Admin/plugin.py +++ b/plugins/Admin/plugin.py @@ -255,7 +255,7 @@ class Admin(callbacks.Plugin): if channel not in irc.state.channels: irc.error(_('I\'m not in %s.') % channel, Raise=True) reason = (reason or self.registryValue("partMsg", channel)) - reason = reason.replace("%version%", "Supybot %s" % conf.version) + reason = ircutils.standardSubstitute(irc, msg, reason) irc.queueMsg(ircmsgs.part(channel, reason)) if msg.nick in irc.state.channels[channel].users: irc.noReply() diff --git a/plugins/Owner/config.py b/plugins/Owner/config.py index 02852e5b4..243e4ee07 100644 --- a/plugins/Owner/config.py +++ b/plugins/Owner/config.py @@ -46,10 +46,11 @@ conf.registerGlobalValue(Owner, 'public', registry.Boolean(True, """Determines whether this plugin is publicly visible.""")) conf.registerGlobalValue(Owner, 'quitMsg', - registry.String('%version%', """Determines what quit message will be used by default. + registry.String('$version', """Determines what quit message will be used by default. If the quit command is called without a quit message, this will be used. If this value is empty, the nick of the person giving the quit command will be - used. %version% is automatically expanded to the bot's current version.""")) + used. The standard substitutions ($version, $nick, etc.) are all handled + appropriately.""")) conf.registerGroup(conf.supybot.commands, 'renames', orderAlphabetically=True) diff --git a/plugins/Owner/plugin.py b/plugins/Owner/plugin.py index e3ed912ea..dc8de8981 100644 --- a/plugins/Owner/plugin.py +++ b/plugins/Owner/plugin.py @@ -344,11 +344,11 @@ class Owner(callbacks.Plugin): Exits the bot with the QUIT message . If is not given, the default quit message (supybot.plugins.Owner.quitMsg) will be used. - If there is no default quitMsg set, your nick will be used. %version% - is automatically expanded to the bot's current version. + If there is no default quitMsg set, your nick will be used. The standard + substitutions ($version, $nick, etc.) are all handled appropriately. """ text = text or self.registryValue('quitMsg') or msg.nick - text = text.replace("%version%", "Supybot %s" % conf.version) + text = ircutils.standardSubstitute(irc, msg, text) irc.noReply() m = ircmsgs.quit(text) world.upkeep() diff --git a/src/ircutils.py b/src/ircutils.py index 9768e676d..49caf9d06 100644 --- a/src/ircutils.py +++ b/src/ircutils.py @@ -49,7 +49,7 @@ from cStringIO import StringIO as sio from . import utils from . import minisix - +from .version import version def debug(s, *args): """Prints a debug string. Most likely replaced by our logging debug.""" @@ -713,6 +713,7 @@ def standardSubstitute(irc, msg, text, env=None): 'm': localtime[4], 'min': localtime[4], 'minute': localtime[4], 's': localtime[5], 'sec': localtime[5], 'second': localtime[5], 'tz': time.strftime('%Z', localtime), + 'version': 'Supybot %s' % version, }) if msg.reply_env: vars.update(msg.reply_env)