Fix #2713 (make /set <option> return the value of the option)
Should work for any case (plugin, different section, etc)
This commit is contained in:
parent
7bc5d0de66
commit
6b8af2413e
1 changed files with 30 additions and 8 deletions
|
@ -586,17 +586,36 @@ def command_remove_bookmark(self, arg=''):
|
||||||
|
|
||||||
def command_set(self, arg):
|
def command_set(self, arg):
|
||||||
"""
|
"""
|
||||||
/set [module|][section] <option> <value>
|
/set [module|][section] <option> [value]
|
||||||
"""
|
"""
|
||||||
args = common.shell_split(arg)
|
args = common.shell_split(arg)
|
||||||
if len(args) != 2 and len(args) != 3:
|
if len(args) == 1:
|
||||||
self.command_help('set')
|
|
||||||
return
|
|
||||||
if len(args) == 2:
|
|
||||||
option = args[0]
|
option = args[0]
|
||||||
value = args[1]
|
value = config.get(option)
|
||||||
info = config.set_and_save(option, value)
|
info = ('%s=%s' % (option, value), 'Info')
|
||||||
self.trigger_configuration_change(option, value)
|
elif len(args) == 2:
|
||||||
|
if '|' in args[0]:
|
||||||
|
plugin_name, section = args[0].split('|')[:2]
|
||||||
|
if not section:
|
||||||
|
section = plugin_name
|
||||||
|
option = args[1]
|
||||||
|
if not plugin_name in self.plugin_manager.plugins:
|
||||||
|
return
|
||||||
|
plugin = self.plugin_manager.plugins[plugin_name]
|
||||||
|
value = plugin.config.get(option, default='', section=section)
|
||||||
|
info = ('%s=%s' % (option, value), 'Info')
|
||||||
|
else:
|
||||||
|
possible_section = args[0]
|
||||||
|
if config.has_section(possible_section):
|
||||||
|
section = possible_section
|
||||||
|
option = args[1]
|
||||||
|
value = config.get(option, section=section)
|
||||||
|
info = ('%s=%s' % (option, value), 'Info')
|
||||||
|
else:
|
||||||
|
option = args[0]
|
||||||
|
value = args[1]
|
||||||
|
info = config.set_and_save(option, value)
|
||||||
|
self.trigger_configuration_change(option, value)
|
||||||
elif len(args) == 3:
|
elif len(args) == 3:
|
||||||
if '|' in args[0]:
|
if '|' in args[0]:
|
||||||
plugin_name, section = args[0].split('|')[:2]
|
plugin_name, section = args[0].split('|')[:2]
|
||||||
|
@ -614,6 +633,9 @@ def command_set(self, arg):
|
||||||
value = args[2]
|
value = args[2]
|
||||||
info = config.set_and_save(option, value, section)
|
info = config.set_and_save(option, value, section)
|
||||||
self.trigger_configuration_change(option, value)
|
self.trigger_configuration_change(option, value)
|
||||||
|
else:
|
||||||
|
self.command_help('set')
|
||||||
|
return
|
||||||
self.call_for_resize()
|
self.call_for_resize()
|
||||||
self.information(*info)
|
self.information(*info)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue