diff --git a/api/curve/v1/services/plugin.py b/api/curve/v1/services/plugin.py index baccf3d..2fec2ae 100644 --- a/api/curve/v1/services/plugin.py +++ b/api/curve/v1/services/plugin.py @@ -195,7 +195,9 @@ def __call__(self, method, *args): :param args: args to run :return: """ - if method not in self.PLUGIN_METHOD.keys() + Plugin.get_menus(): + # actions_in_menu is a list of user actions, E.g. ['cancel_label'] + actions_in_menu = [m[0] for m in Plugin.get_menus()] + if method not in self.PLUGIN_METHOD.keys() + actions_in_menu: return None res = [] for _, plugin in sorted(Plugin.__get_plugins().items()): @@ -317,7 +319,7 @@ def _after_init_band(plugin_name, bands): def get_menus(): """ get menu list - :return: + :return: [(action, menu_name)] """ if Plugin.menus is None: Plugin.menus = []