Skip to content

Commit 9797c9c

Browse files
authored
FIX: Enigma DataReader failling under Python 3.5 (#256)
1 parent 2b49d6f commit 9797c9c

File tree

3 files changed

+18
-20
lines changed

3 files changed

+18
-20
lines changed

.travis.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ install:
4040
- python setup.py install
4141

4242
script:
43+
- export ENIGMA_API_KEY=$ENIGMA_API_KEY
4344
- nosetests -v --with-coverage --cover-package=pandas_datareader
4445
- flake8 --ignore E501 pandas_datareader
4546

pandas_datareader/enigma.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,5 +95,5 @@ def extract_export_url(self, delay=10, max_attempts=10):
9595

9696
def read(self):
9797
export_gzipped_req = self._request(self.extract_export_url())
98-
decompressed_data = self._decompress_export(export_gzipped_req.content)
98+
decompressed_data = self._decompress_export(export_gzipped_req.content).decode("utf-8")
9999
return pd.read_csv(StringIO(decompressed_data))

pandas_datareader/tests/test_enigma.py

Lines changed: 16 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -19,36 +19,33 @@ def setUpClass(cls):
1919
super(TestEnigma, cls).setUpClass()
2020
_skip_if_no_lxml()
2121

22-
def setUp(self):
23-
raise nose.SkipTest()
22+
def test_enigma_datareader(self):
23+
try:
24+
df = web.DataReader('enigma.inspections.restaurants.fl',
25+
'enigma', access_key=TEST_API_KEY)
26+
self.assertTrue('serialid' in df.columns)
27+
except HTTPError as e: # pragma: no cover
28+
raise nose.SkipTest(e)
2429

25-
def test_enigma(self):
26-
self.assertTrue('serialid' in list(
27-
web.DataReader('enigma.inspections.restaurants.fl',
28-
'enigma',
29-
access_key=TEST_API_KEY).columns))
30-
self.assertTrue('serialid' in list(pdr.get_data_enigma(
31-
'enigma.inspections.restaurants.fl', TEST_API_KEY)))
30+
def test_enigma_get_data_enigma(self):
31+
try:
32+
df = pdr.get_data_enigma(
33+
'enigma.inspections.restaurants.fl', TEST_API_KEY)
34+
self.assertTrue('serialid' in df.columns)
35+
except HTTPError as e: # pragma: no cover
36+
raise nose.SkipTest(e)
3237

3338
def test_bad_key(self):
34-
_exception = None
35-
try:
39+
with tm.assertRaises(HTTPError):
3640
web.DataReader('enigma.inspections.restaurants.fl',
3741
'enigma',
3842
access_key=TEST_API_KEY + 'xxx')
39-
except HTTPError as e:
40-
_exception = e
41-
assert isinstance(_exception, HTTPError)
4243

4344
def test_bad_url(self):
44-
_exception = None
45-
try:
45+
with tm.assertRaises(HTTPError):
4646
web.DataReader('enigma.inspections.restaurants.fllzzy',
4747
'enigma',
4848
access_key=TEST_API_KEY)
49-
except Exception as e:
50-
_exception = e
51-
assert isinstance(_exception, HTTPError)
5249

5350

5451
if __name__ == '__main__':

0 commit comments

Comments
 (0)