def get_enabled_plugin_modules_by_type(self, plugin_type, library_id=None): """ Return a list of enabled plugin modules when given a plugin type Runners are filtered by the given 'plugin_type' and sorted by configured order of execution. If no library ID is provided, this will return all installed plugins for that type. This case should only be used for plugin runner types that are not associated with a library. :param plugin_type: :param library_id: :return: """ # Refresh session s = Session() s.register_unmanic() # First fetch all enabled plugins order = [ { "model": LibraryPluginFlow, "column": 'position', "dir": 'asc', }, { "column": 'name', "dir": 'asc', }, ] enabled_plugins = self.get_plugin_list_filtered_and_sorted( order=order, plugin_type=plugin_type, library_id=library_id) # Fetch all plugin modules from the given list of enabled plugins plugin_executor = PluginExecutor() plugin_data = plugin_executor.get_plugin_data_by_type( enabled_plugins, plugin_type) # Return modules return plugin_data
def get_plugin_modules_by_type(self, plugin_type): """ Return a list of enabled plugin modules when given a plugin type Runners are filtered by the given 'plugin_type' and sorted by configured order of execution. :param plugin_type: :return: """ # Refresh session s = Session() s.register_unmanic(s.get_installation_uuid()) # Update enabled plugins self.ensure_session_level_for_plugins(s.level) # First fetch all enabled plugins order = [ { "model": PluginFlow, "column": 'position', "dir": 'asc', }, { "column": 'name', "dir": 'asc', }, ] enabled_plugins = self.get_plugin_list_filtered_and_sorted(order=order, enabled=True, plugin_type=plugin_type) # Fetch all plugin modules from the given list of enabled plugins plugin_executor = PluginExecutor() plugin_data = plugin_executor.get_plugin_data_by_type(enabled_plugins, plugin_type) # Return modules return plugin_data