From a9fcf637b879dc4f124318cf504844648ea85bee Mon Sep 17 00:00:00 2001 From: giovannibajo Date: Tue, 2 Oct 2007 12:51:28 +0000 Subject: [PATCH] Add support for new absolute imports in Python 2.5 (patch by Arve Knudsen ) git-svn-id: http://svn.pyinstaller.org/trunk@319 8dd32b29-ccff-0310-8a9a-9233e24343b1 --- doc/CHANGES.txt | 2 ++ iu.py | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/doc/CHANGES.txt b/doc/CHANGES.txt index 985aa51..4f60f9e 100644 --- a/doc/CHANGES.txt +++ b/doc/CHANGES.txt @@ -2,6 +2,8 @@ Changes since PyInstaller 1.3 ----------------------------- + + Add support for new absolute imports in Python 2.5 (thanks to Arve + Knudsen). + Add import hooks for PyQt4 (thanks to Pascal Veret) + Add import hooks for pyodbc (thanks to Don Dwiggins) + Add import hooks for cElementTree diff --git a/iu.py b/iu.py index de2afd8..90fe8d7 100644 --- a/iu.py +++ b/iu.py @@ -271,12 +271,14 @@ class ImportManager: import __builtin__ __builtin__.__import__ = self.importHook __builtin__.reload = self.reloadHook - def importHook(self, name, globals=None, locals=None, fromlist=None): + def importHook(self, name, globals=None, locals=None, fromlist=None, level=-1): # first see if we could be importing a relative name #print "importHook(%s, %s, locals, %s)" % (name, globals['__name__'], fromlist) _sys_modules_get = sys.modules.get contexts = [None] - if globals: + if globals and level == -1: + # The level indicates we should attempt relative imports, add the + # package to searched contexts importernm = globals.get('__name__', '') if importernm: if hasattr(_sys_modules_get(importernm), '__path__'):