[Python-checkins] r57520 - sandbox/trunk/import_in_py/zipimport_/tests.py sandbox/trunk/import_in_py/zipimport_/zipimport.py
brett.cannon
python-checkins at python.org
Sun Aug 26 23:53:09 CEST 2007
Author: brett.cannon
Date: Sun Aug 26 23:53:09 2007
New Revision: 57520
Modified:
sandbox/trunk/import_in_py/zipimport_/tests.py
sandbox/trunk/import_in_py/zipimport_/zipimport.py
Log:
Raise ZipImportError when the archive path has a length of 0.
Modified: sandbox/trunk/import_in_py/zipimport_/tests.py
==============================================================================
--- sandbox/trunk/import_in_py/zipimport_/tests.py (original)
+++ sandbox/trunk/import_in_py/zipimport_/tests.py Sun Aug 26 23:53:09 2007
@@ -56,6 +56,9 @@
"""Test the creation of a zipimport.zipimporter instance."""
+ def test_empty_archive_path(self):
+ self.assertRaises(zipimport.ZipImportError, zipimport.zipimporter, '')
+
def test_nonzip(self):
# ZipImportError should be raised if a non-zip file is specified.
with open(test_support.TESTFN, 'w') as test_file:
Modified: sandbox/trunk/import_in_py/zipimport_/zipimport.py
==============================================================================
--- sandbox/trunk/import_in_py/zipimport_/zipimport.py (original)
+++ sandbox/trunk/import_in_py/zipimport_/zipimport.py Sun Aug 26 23:53:09 2007
@@ -1,14 +1,19 @@
"""A re-implementation of zipimport to use importlib."""
import importlib
-import contextlib
-import datetime
-import imp
-import os
-import time
+#import contextlib
+#import datetime
+#import imp
+#import os
+#import time
import zipfile
+# XXX Import lock prevents concurrency issues during importation use, but does
+# not make any guarantees for non-import uses.
+_zip_directory_cache = {}
+
+
class ZipImportError(ImportError):
pass
@@ -26,6 +31,12 @@
than a zip file is passed in then ZipImportError is raised.
"""
+ if len(archivepath) == 0:
+ raise ZipImportError("archive path is empty")
+
+
+
+ # XXX need to have archive, prefix, _files attributes.
raise NotImplementedError
path = os.path.abspath(archivepath)
# XXX Need to tweak to handle zip archive package info like
More information about the Python-checkins
mailing list