diff --git a/deluge/ui/web/json_api.py b/deluge/ui/web/json_api.py index b1c8ef60d..26f40e9a1 100644 --- a/deluge/ui/web/json_api.py +++ b/deluge/ui/web/json_api.py @@ -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) diff --git a/deluge/ui/web/pluginmanager.py b/deluge/ui/web/pluginmanager.py index c2ed75efd..27c02fe96 100644 --- a/deluge/ui/web/pluginmanager.py +++ b/deluge/ui/web/pluginmanager.py @@ -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)