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

brett.cannon python-checkins at python.org
Wed Nov 21 02:03:06 CET 2007


Author: brett.cannon
Date: Wed Nov 21 02:03:06 2007
New Revision: 59086

Modified:
   sandbox/trunk/import_in_py/_importlib.py
   sandbox/trunk/import_in_py/importlib.py
Log:
Try to make Windows happy.


Modified: sandbox/trunk/import_in_py/_importlib.py
==============================================================================
--- sandbox/trunk/import_in_py/_importlib.py	(original)
+++ sandbox/trunk/import_in_py/_importlib.py	Wed Nov 21 02:03:06 2007
@@ -68,6 +68,8 @@
 # XXX Could also expose Modules/getpath.c:joinpath()
 def _path_join(*args):
     """Replacement for os.path.join so as to remove dependency on os module."""
+    # XXX Need to worry about having multiple path separators in a row?
+    #     http://bugs.python.org/issue1293 might suggest "yes".
     return path_sep.join(args)
 
 def _path_exists(path):
@@ -108,6 +110,8 @@
 
 def _path_absolute(path):
     """Replacement for os.path.abspath."""
+    if not path:
+        return _os.getcwd()
     try:
         return _os._getfullpathname(path)
     except AttributeError:
@@ -508,7 +512,7 @@
                 bytecode_file.write(_w_long(timestamp))
                 bytecode_file.write(data)
                 return True
-        except IOError as exc:
+        except IOError, exc:
             if exc.errno == errno.EACCES:
                 return False
             else:

Modified: sandbox/trunk/import_in_py/importlib.py
==============================================================================
--- sandbox/trunk/import_in_py/importlib.py	(original)
+++ sandbox/trunk/import_in_py/importlib.py	Wed Nov 21 02:03:06 2007
@@ -92,8 +92,10 @@
     if sys.platform not in ('win32', 'mac', 'riscos', 'darwin', 'cygwin',
             'os2emx') or os.environ.get('PYTHONCASEOK'):
         return True
-    directory_contents = os.listdir(directory)
-    if file_name in directory_contents:
+    directory_contents = set(os.path.splitext(x)[0]
+                                for x in os.listdir(directory))
+    file_wo_ext = os.path.splitext(file_name)[0]
+    if file_wo_ext in directory_contents:
         return True
     else:
         return False


More information about the Python-checkins mailing list