Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Xavier Thompson
cython
Commits
deef9b9f
Commit
deef9b9f
authored
8 years ago
by
Sergei Lebedev
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Addressed review comments
parent
17bef673
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
33 additions
and
20 deletions
+33
-20
pyximport/pyximport.py
pyximport/pyximport.py
+24
-20
pyximport/test/test_pyximport.py
pyximport/test/test_pyximport.py
+9
-0
No files found.
pyximport/pyximport.py
View file @
deef9b9f
...
@@ -308,11 +308,12 @@ class PyxImporter(object):
...
@@ -308,11 +308,12 @@ class PyxImporter(object):
elif
not
os
.
path
.
isabs
(
path
):
elif
not
os
.
path
.
isabs
(
path
):
path
=
os
.
path
.
abspath
(
path
)
path
=
os
.
path
.
abspath
(
path
)
if
os
.
path
.
isfile
(
path
):
try
:
try
:
zi
=
zipimporter
(
path
)
zi
=
zipimporter
(
path
)
data
=
zi
.
get_data
(
pyx_module_name
)
data
=
zi
.
get_data
(
pyx_module_name
)
except
(
ZipImportError
,
IOError
):
except
(
ZipImportError
,
IOError
):
pyx_module_path
=
os
.
path
.
join
(
path
,
pyx_module_name
)
continue
# Module not found.
else
:
else
:
# XXX unzip the imported file into the build dir. A bit
# XXX unzip the imported file into the build dir. A bit
# hacky, but it works!
# hacky, but it works!
...
@@ -321,10 +322,13 @@ class PyxImporter(object):
...
@@ -321,10 +322,13 @@ class PyxImporter(object):
pyx_module_path
=
os
.
path
.
join
(
self
.
pyxbuild_dir
,
pyx_module_path
=
os
.
path
.
join
(
self
.
pyxbuild_dir
,
pyx_module_name
)
pyx_module_name
)
with
open
(
pyx_module_path
,
"wb"
)
as
handle
:
with
open
(
pyx_module_path
,
"wb"
)
as
f
:
handle
.
write
(
data
)
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
,
return
PyxLoader
(
fullname
,
pyx_module_path
,
pyxbuild_dir
=
self
.
pyxbuild_dir
,
pyxbuild_dir
=
self
.
pyxbuild_dir
,
inplace
=
self
.
inplace
,
inplace
=
self
.
inplace
,
...
...
This diff is collapsed.
Click to expand it.
pyximport/test/test_pyximport.py
View file @
deef9b9f
...
@@ -96,6 +96,15 @@ def test_zip():
...
@@ -96,6 +96,15 @@ def test_zip():
assert
test_zip_module
.
x
==
42
assert
test_zip_module
.
x
==
42
finally
:
finally
:
os
.
remove
(
zip_path
)
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__"
:
if
__name__
==
"__main__"
:
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment