From b94d758bf17f6e2e13391487b89628620efd4e42 Mon Sep 17 00:00:00 2001 From: Massimo DiPierro Date: Wed, 6 Jun 2012 20:30:37 -0500 Subject: [PATCH] improved import, thanks Michele --- VERSION | 2 +- gluon/custom_import.py | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/VERSION b/VERSION index aa7f9f29..d52571ed 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -Version 2.00.0 (2012-06-06 11:37:26) dev +Version 2.00.0 (2012-06-06 20:30:33) dev diff --git a/gluon/custom_import.py b/gluon/custom_import.py index a7281b60..e37708ef 100644 --- a/gluon/custom_import.py +++ b/gluon/custom_import.py @@ -287,14 +287,14 @@ class _Web2pyImporter(_BaseImporter): return super(_Web2pyImporter, self) \ .__call__(modules_prefix+"."+name, globals, locals, fromlist, level) - except ImportError: - pass + except ImportError, e: + try: + return super(_Web2pyImporter, self).__call__(name, globals, locals, + fromlist, level) + except ImportError, e1: + raise e return super(_Web2pyImporter, self).__call__(name, globals, locals, fromlist, level) - #except Exception, e: - # raise e # Don't hide something that went wrong - #finally: - self.end() def __import__dot(self, prefix, name, globals, locals, fromlist, level): @@ -312,8 +312,8 @@ class _Web2pyImporter(_BaseImporter): locals, [name], level) try: result = result or new_mod.__dict__[name] - except KeyError: - raise ImportError() + except KeyError, e: + raise ImportError, 'Cannot import module %s' % str(e) prefix += "." + name return result