Commit deef9b9f authored by Sergei Lebedev's avatar Sergei Lebedev

Addressed review comments

parent 17bef673
......@@ -308,11 +308,12 @@ class PyxImporter(object):
elif not os.path.isabs(path):
path = os.path.abspath(path)
if os.path.isfile(path):
try:
zi = zipimporter(path)
data = zi.get_data(pyx_module_name)
except (ZipImportError, IOError):
pyx_module_path = os.path.join(path, pyx_module_name)
continue # Module not found.
else:
# XXX unzip the imported file into the build dir. A bit
# hacky, but it works!
......@@ -321,10 +322,13 @@ class PyxImporter(object):
pyx_module_path = os.path.join(self.pyxbuild_dir,
pyx_module_name)
with open(pyx_module_path, "wb") as handle:
handle.write(data)
with open(pyx_module_path, "wb") as f:
f.write(data)
else:
pyx_module_path = os.path.join(path, pyx_module_name)
if not os.path.isfile(pyx_module_path):
continue # Module not found.
if os.path.isfile(pyx_module_path):
return PyxLoader(fullname, pyx_module_path,
pyxbuild_dir=self.pyxbuild_dir,
inplace=self.inplace,
......
......@@ -96,6 +96,15 @@ def test_zip():
assert test_zip_module.x == 42
finally:
os.remove(zip_path)
sys.path.remove(zip_path)
def test_zip_nonexisting():
sys.path.append("nonexisting_zip_module.zip")
try:
import nonexisting_zip_module
except ImportError:
pass
if __name__== "__main__":
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment