def remove_plugins(plugin_table_ids): """ Removes/Uninstalls a list of plugins :param plugin_table_ids: :return: """ plugins_handler = PluginsHandler() return plugins_handler.uninstall_plugins_by_db_table_id(plugin_table_ids)
def remove_plugin(): # Fetch list of installed plugins plugins = PluginsHandler() order = [{ "column": 'name', "dir": 'asc', }] plugin_results = plugins.get_plugin_list_filtered_and_sorted( order=order, start=0, length=None) # Build choice selection list from installed plugins table_ids = {} choices = [] for plugin in plugin_results: choices.append(plugin.get('plugin_id')) table_ids[plugin.get('plugin_id')] = plugin.get('id') # Append a "return" option choices.append('Return') # Generate menu menu remove_plugin_inquirer = inquirer.List( 'cli_action', message="Which Plugin would you like to remove?", choices=choices, ) # Prompt for selection of Plugin by ID selection = inquirer.prompt([remove_plugin_inquirer]) # If the 'Return' option was given, just return to previous menu if selection.get('cli_action') == "Return": return # Remove the selected Plugin by ID plugin_table_id = table_ids[selection.get('cli_action')] plugins.uninstall_plugins_by_db_table_id([plugin_table_id]) print()
def manage_installed_plugins_list(self, *args, **kwargs): request_dict = json.loads(self.request.body) plugins = PluginsHandler() # Uninstall selected plugins if request_dict.get("customActionName") == "remove-selected-plugins": if not plugins.uninstall_plugins_by_db_table_id( request_dict.get("id")): self.write(json.dumps({"success": False})) return # Update selected plugins if request_dict.get("customActionName") == "update-selected-plugins": if not plugins.update_plugins_by_db_table_id( request_dict.get("id")): self.write(json.dumps({"success": False})) return # Enable selected plugins if request_dict.get("customActionName") == "enable-selected-plugins": if not plugins.enable_plugin_by_db_table_id( request_dict.get("id")): self.write(json.dumps({"success": False})) return # Disable selected plugins if request_dict.get("customActionName") == "disable-selected-plugins": if not plugins.disable_plugin_by_db_table_id( request_dict.get("id")): self.write(json.dumps({"success": False})) return # Return a list of plugins based on the request JSON body results = self.prepare_filtered_plugins(request_dict) self.write(json.dumps(results))