Add a /set_plugin command
This commit is contained in:
parent
572cc678a0
commit
aac980cd4c
1 changed files with 25 additions and 0 deletions
25
src/core.py
25
src/core.py
|
@ -135,6 +135,7 @@ class Core(object):
|
||||||
'plugins': (self.command_plugins, _('Usage: /plugins\nPlugins: Show the plugins in use.'), None),
|
'plugins': (self.command_plugins, _('Usage: /plugins\nPlugins: Show the plugins in use.'), None),
|
||||||
'presence': (self.command_presence, _('Usage: /presence <JID> [type] [status]\nPresence: Send a directed presence to <JID> and using [type] and [status] if provided.'), None),
|
'presence': (self.command_presence, _('Usage: /presence <JID> [type] [status]\nPresence: Send a directed presence to <JID> and using [type] and [status] if provided.'), None),
|
||||||
'rawxml': (self.command_rawxml, _('Usage: /rawxml\nRawXML: Send a custom xml stanza.'), None),
|
'rawxml': (self.command_rawxml, _('Usage: /rawxml\nRawXML: Send a custom xml stanza.'), None),
|
||||||
|
'set_plugin': (self.command_set_plugin, _("Usage: /set_plugin <plugin> <option> [value]\nSet Plugin: Set the value of the option in a plugin configuration file."), None),
|
||||||
}
|
}
|
||||||
|
|
||||||
self.key_func = {
|
self.key_func = {
|
||||||
|
@ -1519,6 +1520,30 @@ class Core(object):
|
||||||
msg = "%s=%s" % (option, value)
|
msg = "%s=%s" % (option, value)
|
||||||
self.information(msg, 'Info')
|
self.information(msg, 'Info')
|
||||||
|
|
||||||
|
def command_set_plugin(self, arg):
|
||||||
|
"""
|
||||||
|
/set_plugin <plugin> <option> [value]
|
||||||
|
"""
|
||||||
|
args = arg.split()
|
||||||
|
if len(args) != 3 and len(args) != 2:
|
||||||
|
self.command_help('set_plugin')
|
||||||
|
return
|
||||||
|
plugin_name = args[0]
|
||||||
|
if not plugin_name in self.plugin_manager.plugins:
|
||||||
|
return
|
||||||
|
plugin = self.plugin_manager.plugins[plugin_name]
|
||||||
|
option = args[1]
|
||||||
|
if len(args) == 3:
|
||||||
|
value = args[2]
|
||||||
|
else:
|
||||||
|
value = ''
|
||||||
|
plugin.config.set_and_save(option, value, plugin_name)
|
||||||
|
if not plugin.config.write():
|
||||||
|
self.core.information('Could not save the plugin config', 'Error')
|
||||||
|
return
|
||||||
|
msg = "%s=%s" % (option, value)
|
||||||
|
self.information(msg, 'Info')
|
||||||
|
|
||||||
def close_tab(self, tab=None):
|
def close_tab(self, tab=None):
|
||||||
"""
|
"""
|
||||||
Close the given tab. If None, close the current one
|
Close the given tab. If None, close the current one
|
||||||
|
|
Loading…
Reference in a new issue