faster custom_import, thanks Michele
This commit is contained in:
@@ -1 +1 @@
|
|||||||
Version 2.0.6 (2012-09-03 08:12:36) stable
|
Version 2.0.6 (2012-09-03 08:17:01) stable
|
||||||
|
|||||||
@@ -66,12 +66,14 @@ class _BaseImporter(object):
|
|||||||
help the management of this aspect.
|
help the management of this aspect.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
self._STANDARD_PYTHON_IMPORTER = _STANDARD_PYTHON_IMPORTER
|
||||||
def __call__(self, name, globals=None, locals=None,
|
def __call__(self, name, globals=None, locals=None,
|
||||||
fromlist=None, level=-1):
|
fromlist=None, level=-1):
|
||||||
"""
|
"""
|
||||||
The import method itself.
|
The import method itself.
|
||||||
"""
|
"""
|
||||||
return _STANDARD_PYTHON_IMPORTER(name,
|
return self._STANDARD_PYTHON_IMPORTER(name,
|
||||||
globals,
|
globals,
|
||||||
locals,
|
locals,
|
||||||
fromlist,
|
fromlist,
|
||||||
@@ -226,7 +228,8 @@ class _Web2pyImporter(_BaseImporter):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
global DEBUG
|
global DEBUG
|
||||||
super(_Web2pyImporter, self).__init__()
|
self.super_class = super(_Web2pyImporter, self)
|
||||||
|
self.super_class.__init__()
|
||||||
self.web2py_path = web2py_path
|
self.web2py_path = web2py_path
|
||||||
self.__web2py_path_os_path_sep = self.web2py_path+os.path.sep
|
self.__web2py_path_os_path_sep = self.web2py_path+os.path.sep
|
||||||
self.__web2py_path_os_path_sep_len = len(self.__web2py_path_os_path_sep)
|
self.__web2py_path_os_path_sep_len = len(self.__web2py_path_os_path_sep)
|
||||||
@@ -284,16 +287,16 @@ class _Web2pyImporter(_BaseImporter):
|
|||||||
globals, locals, fromlist, level)
|
globals, locals, fromlist, level)
|
||||||
else:
|
else:
|
||||||
# import like "from x import a, b, ..."
|
# import like "from x import a, b, ..."
|
||||||
return super(_Web2pyImporter, self) \
|
return self.super_class \
|
||||||
.__call__(modules_prefix+"."+name,
|
.__call__(modules_prefix+"."+name,
|
||||||
globals, locals, fromlist, level)
|
globals, locals, fromlist, level)
|
||||||
except ImportError, e:
|
except ImportError, e:
|
||||||
try:
|
try:
|
||||||
return super(_Web2pyImporter, self).__call__(name, globals, locals,
|
return self.super_class.__call__(name, globals, locals,
|
||||||
fromlist, level)
|
fromlist, level)
|
||||||
except ImportError, e1:
|
except ImportError, e1:
|
||||||
raise e
|
raise e
|
||||||
return super(_Web2pyImporter, self).__call__(name, globals, locals,
|
return self.super_class.__call__(name, globals, locals,
|
||||||
fromlist, level)
|
fromlist, level)
|
||||||
|
|
||||||
def __import__dot(self, prefix, name, globals, locals, fromlist,
|
def __import__dot(self, prefix, name, globals, locals, fromlist,
|
||||||
|
|||||||
Reference in New Issue
Block a user