[Kimchi-devel] [PATCH v2][Wok] Change plugins get_list to return only loaded plugins

Daniel Henrique Barboza dhbarboza82 at gmail.com
Sun Dec 27 10:26:44 UTC 2015


Reviewed-by: Daniel Barboza <dhbarboza82 at gmail.com>

On 12/25/2015 11:10 PM, Rodrigo Trujillo wrote:
> When using multiple plugins, it is possible that some plugin has a
> problem and is not loaded (like when there is a missing module).
> In this cases, Wok is not going to load the plugin in cherrypy
> configuration, but plugins API return the missing plugin name.
> When this occours, UI becomes broken and it is not possible to use any
> other plugin, because Wok UI is blank.
> This patch fix this problem, returning only plugins names that were
> loaded by Wok.
>
> Signed-off-by: Rodrigo Trujillo <rodrigo.trujillo at linux.vnet.ibm.com>
> ---
>   src/wok/model/plugins.py | 7 ++++++-
>   1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/src/wok/model/plugins.py b/src/wok/model/plugins.py
> index 3a5a89e..85d60b6 100644
> --- a/src/wok/model/plugins.py
> +++ b/src/wok/model/plugins.py
> @@ -19,6 +19,8 @@
>   # License along with this library; if not, write to the Free Software
>   # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
>   
> +import cherrypy
> +
>   from wok.utils import get_enabled_plugins
>   
>   
> @@ -27,4 +29,7 @@ class PluginsModel(object):
>           pass
>   
>       def get_list(self):
> -        return [plugin for (plugin, config) in get_enabled_plugins()]
> +        # Will only return plugins that were loaded correctly by WOK and are
> +        # properly configured in cherrypy
> +        return [plugin for (plugin, config) in get_enabled_plugins()
> +                if config.get('wok').get('uri') in cherrypy.tree.apps.keys()]




More information about the Kimchi-devel mailing list