changeset 82:64f451f2d50a

disable demandimport while importing modules to catch ImportError to fallback to python 1.4 properly
author Scott Chacon <schacon@gmail.com>
date Fri, 08 May 2009 11:33:33 -0700
parents 6893f2a2cc66
children f8f975c73ed0
files dulwich/misc.py dulwich/pack.py
diffstat 2 files changed, 14 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/dulwich/misc.py
+++ b/dulwich/misc.py
@@ -20,12 +20,19 @@
 These utilities can all be deleted when dulwich decides it wants to stop
 support for python 2.4.
 """
+
+from mercurial import demandimport
+import __builtin__
+orig_import = __builtin__.__import__
+demandimport.disable()
+
 try:
     import hashlib
 except ImportError:
     import sha
 import struct
 
+__builtin__.__import__ = orig_import
 
 class defaultdict(dict):
     """A python 2.4 equivalent of collections.defaultdict."""
--- a/dulwich/pack.py
+++ b/dulwich/pack.py
@@ -30,6 +30,11 @@
 a pointer in to the corresponding packfile.
 """
 
+from mercurial import demandimport
+import __builtin__
+orig_import = __builtin__.__import__
+demandimport.disable()
+
 try:
     from collections import defaultdict
 except ImportError:
@@ -61,6 +66,8 @@
     )
 from misc import make_sha
 
+__builtin__.__import__ = orig_import
+
 supports_mmap_offset = (sys.version_info[0] >= 3 or
         (sys.version_info[0] == 2 and sys.version_info[1] >= 6))