From ccb05acf5c8b27b46384d2b98c1d4d7ca56eee46 Mon Sep 17 00:00:00 2001 From: Eddie Hebert Date: Mon, 6 Jan 2014 16:41:25 -0500 Subject: [PATCH] MAINT: Read text in Python 3 instead of bytes when fetching public data. Account for byte/string compatibility when consuming response from requests module. --- zipline/data/benchmarks.py | 2 +- zipline/data/treasuries.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/zipline/data/benchmarks.py b/zipline/data/benchmarks.py index a0ec9756..9f89f47f 100644 --- a/zipline/data/benchmarks.py +++ b/zipline/data/benchmarks.py @@ -88,7 +88,7 @@ start_date={start_date}, end_date={end_date}, url={url}""".strip(). end_date=end_date, url=res.url)) - return csv.DictReader(res.iter_lines()) + return csv.DictReader(res.text.splitlines()) def get_benchmark_data(symbol, start_date=None, end_date=None): diff --git a/zipline/data/treasuries.py b/zipline/data/treasuries.py index 7b343c3a..d0e96889 100644 --- a/zipline/data/treasuries.py +++ b/zipline/data/treasuries.py @@ -98,7 +98,7 @@ def get_treasury_source(): http://data.treasury.gov/feed.svc/DailyTreasuryYieldCurveRateData\ """ res = requests.get(url, stream=True) - stream = iter_to_stream(res.iter_lines()) + stream = iter_to_stream(res.text.splitlines()) elements = ET.iterparse(stream, ('end', 'start-ns', 'end-ns'))