[Kimchi-devel] [PATCH] Github #745: WoK: improve error message when importing plug-ins

Abhiram abhiramk at linux.vnet.ibm.com
Fri Oct 30 10:24:28 UTC 2015


On Thu, 2015-10-29 at 18:48 -0200, dhbarboza82 at gmail.com wrote:
> From: Daniel Henrique Barboza <dhbarboza82 at gmail.com>
> 
> Error messages in WoK boot-up process weren't being forwarded
> to the user, making it harder to detect the cause of the
> failure.
> 
> Signed-off-by: Daniel Henrique Barboza <dhbarboza82 at gmail.com>
> ---
>  src/wok/server.py | 17 ++++++++++-------
>  src/wok/utils.py  |  7 +++++--
>  2 files changed, 15 insertions(+), 9 deletions(-)
> 
> diff --git a/src/wok/server.py b/src/wok/server.py
> index c6f12dd..59ecdc0 100644
> --- a/src/wok/server.py
> +++ b/src/wok/server.py
> @@ -158,9 +158,11 @@ class Server(object):
> 
>              try:
>                  plugin_app = import_class(plugin_class)(options)
> -            except ImportError:
> -                cherrypy.log.error_log.error("Failed to import plugin %s" %
> -                                             plugin_class)
> +            except ImportError, e:
> +                cherrypy.log.error_log.error(
> +                    "Failed to import plugin %s, "
> +                    "error: %s" % (plugin_class, e.message)
> +                )
>                  continue
> 
>              # dynamically extend plugin config with custom data, if provided
> @@ -173,10 +175,11 @@ class Server(object):
>                  try:
>                      authed_apis = import_class(('plugins.%s.%s' %
>                                                  (plugin_name, extra_auth)))
> -                except ImportError:
> -                    cherrypy.log.error_log.error("Failed to import subnodes "
> -                                                 "for plugin %s" %
> -                                                 plugin_class)
> +                except ImportError, e:
> +                    cherrypy.log.error_log.error(
> +                        "Failed to import subnodes for plugin %s, "
> +                        "error: %s" % (plugin_class, e.message)
> +                    )

+1
Much needed change.
>                      continue
> 
>                  urlSubNodes = {}
> diff --git a/src/wok/utils.py b/src/wok/utils.py
> index ccc8534..74c521f 100644
> --- a/src/wok/utils.py
> +++ b/src/wok/utils.py
> @@ -114,8 +114,11 @@ def import_class(class_path):
>      try:
>          mod = import_module(module_name, class_name)
>          return getattr(mod, class_name)
> -    except (ImportError, AttributeError):
> -        raise ImportError('Class %s can not be imported' % class_path)
> +    except (ImportError, AttributeError), e:
> +        raise ImportError(
> +            'Class %s can not be imported, '
> +            'error: %s' % (class_path, e.message)
> +        )
> 
> 
>  def import_module(module_name, class_name=''):





More information about the Kimchi-devel mailing list