diff --git a/cbpi/controller/plugin_controller.py b/cbpi/controller/plugin_controller.py index 23da582..6ac1f00 100644 --- a/cbpi/controller/plugin_controller.py +++ b/cbpi/controller/plugin_controller.py @@ -230,7 +230,8 @@ class PluginController(): for key, module in discovered_plugins.items(): try: meta = metadata(key) - result.append(dict(Name=meta["Name"])) + if meta["Name"] != "cbpi4gui": + result.append(dict(Name=meta["Name"])) except Exception as e: logger.error("FAILED to load plugin {} ".format(key)) diff --git a/cbpi/http_endpoints/http_plugin.py b/cbpi/http_endpoints/http_plugin.py index fc3ae2c..9a36beb 100644 --- a/cbpi/http_endpoints/http_plugin.py +++ b/cbpi/http_endpoints/http_plugin.py @@ -86,3 +86,21 @@ class PluginHttpEndpoints: """ plugin_list = await self.cbpi.plugin.load_plugin_list() return web.json_response(plugin_list, dumps=json_dumps) + + @request_mapping(path="/names", method="GET", auth_required=False) + async def list(self, request): + """ + --- + description: Get a list of avialable plugin names + tags: + - Plugin + produces: + - application/json + responses: + "200": + description: successful operation. Return "pong" text + "405": + description: invalid HTTP Method + """ + plugin_names = await self.cbpi.plugin.load_plugin_names() + return web.json_response(plugin_names, dumps=json_dumps)