[#2293] [WebUI] Fix plugins not loading when using WebUI plugin
- Any plugins that were started before the WebUI plugin would not be loaded upon starting the web server and would be not show up. The fix is to use web.pluginmanager.start to get all enabled plugins from core. - Update log message output for enable/disable in pluginmanager. - Deregister plugin events on json_api disable.
This commit is contained in:
parent
904a51835b
commit
492ad07965
|
@ -150,13 +150,21 @@ class JSON(resource.Resource, component.Component):
|
|||
return d.addCallback(on_client_connected)
|
||||
|
||||
def disable(self):
|
||||
if not client.is_classicmode():
|
||||
client.deregister_event_handler("PluginEnabledEvent", self.get_remote_methods)
|
||||
client.deregister_event_handler("PluginDisabledEvent", self.get_remote_methods)
|
||||
|
||||
if client.is_classicmode():
|
||||
component.get("Web.PluginManager").stop()
|
||||
else:
|
||||
client.disconnect()
|
||||
|
||||
def enable(self):
|
||||
client.register_event_handler("PluginEnabledEvent", self.get_remote_methods)
|
||||
client.register_event_handler("PluginDisabledEvent", self.get_remote_methods)
|
||||
if component.get("DelugeWeb").config["default_daemon"]:
|
||||
|
||||
if client.is_classicmode():
|
||||
component.get("Web.PluginManager").start()
|
||||
elif component.get("DelugeWeb").config["default_daemon"]:
|
||||
# Sort out getting the default daemon here
|
||||
default = component.get("DelugeWeb").config["default_daemon"]
|
||||
host = component.get("Web").get_host(default)
|
||||
|
|
|
@ -83,7 +83,7 @@ class PluginManager(PluginManagerBase, component.Component):
|
|||
try:
|
||||
plugin = component.get("WebPlugin." + name)
|
||||
except KeyError:
|
||||
log.info("Plugin has no web ui")
|
||||
log.debug("'%s' plugin contains no WebUI code, ignoring WebUI disable call.", name)
|
||||
return
|
||||
|
||||
info = gather_info(plugin)
|
||||
|
@ -105,7 +105,7 @@ class PluginManager(PluginManagerBase, component.Component):
|
|||
try:
|
||||
plugin = component.get("WebPlugin." + name)
|
||||
except KeyError:
|
||||
log.info("Plugin has no web ui")
|
||||
log.info("'%s' plugin contains no WebUI code, ignoring WebUI enable call.", name)
|
||||
return
|
||||
|
||||
info = gather_info(plugin)
|
||||
|
|
Loading…
Reference in New Issue