[Python-checkins] r56199 - sandbox/trunk/import_in_py/_importlib.py sandbox/trunk/import_in_py/importlib.py

brett.cannon python-checkins at python.org
Sun Jul 8 22:45:19 CEST 2007


Author: brett.cannon
Date: Sun Jul  8 22:45:19 2007
New Revision: 56199

Modified:
   sandbox/trunk/import_in_py/_importlib.py
   sandbox/trunk/import_in_py/importlib.py
Log:
Create an os.path.join replacement.


Modified: sandbox/trunk/import_in_py/_importlib.py
==============================================================================
--- sandbox/trunk/import_in_py/_importlib.py	(original)
+++ sandbox/trunk/import_in_py/_importlib.py	Sun Jul  8 22:45:19 2007
@@ -103,6 +103,11 @@
     return x
 
 
+def _path_join(*args):
+    """Replacement for os.path.join so as to remove dependency on os module."""
+    return path_sep.join(args)
+
+
 def _case_ok(directory, file_name):
     """Verify that file_name (as found in 'directory') has the proper case.
 
@@ -251,7 +256,7 @@
         
         """
         tail_module = fullname.rsplit('.', 1)[-1]
-        package_directory = os.path.join(self.path_entry, tail_module)
+        package_directory = _path_join(self.path_entry, tail_module)
         for handler in self.handlers:
             if handler.cannot_handle(fullname):
                 continue
@@ -259,7 +264,7 @@
                 # XXX Backwards-incompatible to use anything but .py/.pyc
                 # files for __init__?
                 init_filename = '__init__' + file_ext
-                package_init = os.path.join(package_directory, init_filename)
+                package_init = _path_join(package_directory, init_filename)
                 # Check if it is a package with an __init__ file.
                 if (os.path.isfile(package_init) and
                         _case_ok(self.path_entry, tail_module) and
@@ -267,7 +272,7 @@
                     return self.loader(package_init, handler, package_directory)
                 # See if it is a module.
                 file_name = tail_module + file_ext
-                file_path = os.path.join(self.path_entry, file_name)
+                file_path = _path_join(self.path_entry, file_name)
                 if (os.path.isfile(file_path) and
                         _case_ok(self.path_entry, file_name)):
                     return self.loader(file_path, handler)

Modified: sandbox/trunk/import_in_py/importlib.py
==============================================================================
--- sandbox/trunk/import_in_py/importlib.py	(original)
+++ sandbox/trunk/import_in_py/importlib.py	Sun Jul  8 22:45:19 2007
@@ -30,6 +30,7 @@
 """
 import _importlib
 
+# Import needed built-in modules.
 for builtin_name in _importlib._required_builtins:
     module = __import__(builtin_name)
     _importlib.__dict__[builtin_name] = module
@@ -42,6 +43,7 @@
 
 _importlib.errno = errno
 _importlib.os = os
+_importlib.path_sep = os.sep  # For os.path.join replacement.
 _importlib.warnings = warnings
 
 del _importlib


More information about the Python-checkins mailing list