summaryrefslogtreecommitdiff
path: root/numpy/lib/_datasource.py
diff options
context:
space:
mode:
authorRobert Kern <robert.kern@gmail.com>2008-04-17 20:16:11 +0000
committerRobert Kern <robert.kern@gmail.com>2008-04-17 20:16:11 +0000
commitddde39b22effbcd4799dc2dd4a229dcac0964205 (patch)
tree47bd9236e33bc38070c92c1c3a0fe80093820388 /numpy/lib/_datasource.py
parent6e78d7dde1bc3f6247afde492bae4ae830e95d65 (diff)
downloadnumpy-ddde39b22effbcd4799dc2dd4a229dcac0964205.tar.gz
Don't require gzip or bz2 until the actual functionality is requested.
Diffstat (limited to 'numpy/lib/_datasource.py')
-rw-r--r--numpy/lib/_datasource.py15
1 files changed, 11 insertions, 4 deletions
diff --git a/numpy/lib/_datasource.py b/numpy/lib/_datasource.py
index 06aae85d8..3fe1df615 100644
--- a/numpy/lib/_datasource.py
+++ b/numpy/lib/_datasource.py
@@ -34,17 +34,24 @@ Example:
__docformat__ = "restructuredtext en"
-import bz2
-import gzip
import os
import tempfile
from shutil import rmtree
from urllib2 import urlopen, URLError
from urlparse import urlparse
-
# TODO: .zip support, .tar support?
-_file_openers = {".gz":gzip.open, ".bz2":bz2.BZ2File, None:file}
+_file_openers = {None: open}
+try:
+ import bz2
+ _file_openers[".bz2"] = bz2.BZ2File
+except ImportError:
+ pass
+try:
+ import gzip
+ _file_openers[".gz"] = gzip.open
+except ImportError:
+ pass
def open(path, mode='r', destpath=os.curdir):