diff --git a/CHANGELOG.md b/CHANGELOG.md index c29c2489..a03195f3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ * More verbose output for Software Update plugin for logged in administrators. Will now log the update commands and their output similar to the Plugin Manager install and uninstall dialog. +* Allow hiding plugins from Plugin Manager via ``config.yaml``. ### Bug Fixes diff --git a/src/octoprint/plugins/pluginmanager/__init__.py b/src/octoprint/plugins/pluginmanager/__init__.py index 05d17b6a..04c2f1fe 100644 --- a/src/octoprint/plugins/pluginmanager/__init__.py +++ b/src/octoprint/plugins/pluginmanager/__init__.py @@ -82,7 +82,8 @@ class PluginManagerPlugin(octoprint.plugin.SimpleApiPlugin, return dict( repository="http://plugins.octoprint.org/plugins.json", repository_ttl=24*60, - pip=None + pip=None, + hidden=[] ) def on_settings_save(self, data): @@ -161,8 +162,11 @@ class PluginManagerPlugin(octoprint.plugin.SimpleApiPlugin, plugins = self._plugin_manager.plugins + hidden = self._settings.get(["hidden"]) result = [] for name, plugin in plugins.items(): + if name in hidden: + continue result.append(self._to_external_representation(plugin)) if "refresh_repository" in request.values and request.values["refresh_repository"] in valid_boolean_trues: