MAINT: fixes #1652

add close()

Stephans solution

close file before

remove comment
This commit is contained in:
François Boulogne
2016-02-15 22:01:55 -05:00
parent 056028d1f3
commit 461b06a517
+4 -3
View File
@@ -24,10 +24,11 @@ def file_or_url_context(resource_name):
"""Yield name of file from the given resource (i.e. file or url)."""
if is_url(resource_name):
_, ext = os.path.splitext(resource_name)
with tempfile.NamedTemporaryFile(delete=False, suffix=ext) as f:
u = urlopen(resource_name)
f.write(u.read())
try:
with tempfile.NamedTemporaryFile(delete=False, suffix=ext) as f:
u = urlopen(resource_name)
f.write(u.read())
# f must be closed before yielding
yield f.name
finally:
os.remove(f.name)