Fixed code to handle lists

This commit is contained in:
Bharat Kalluri
2017-10-10 11:27:40 +05:30
parent 25a05d4aa4
commit 2c7f76b683
2 changed files with 15 additions and 6 deletions

View File

@@ -81,7 +81,7 @@ class TestTickerPrices(TestCase):
def test_ticker_metadata_for_object(self): def test_ticker_metadata_for_object(self):
data = self._client.get_ticker_metadata("GOOGL", fmt='object') data = self._client.get_ticker_metadata("GOOGL", fmt='object')
assert len(data.name) > 1 assert len(data[0].name) > 1
# tiingo/news # tiingo/news

View File

@@ -94,9 +94,13 @@ class TiingoClient(RestClient):
if fmt == 'json': if fmt == 'json':
return data return data
elif fmt == 'object': elif fmt == 'object':
# inspired by https://stackoverflow.com/a/15882054 obj_arr = []
return json.loads(json.dumps(data), for el in data:
object_hook=lambda d: namedtuple('Ticker', d.keys())(*d.values())) # inspired by https://stackoverflow.com/a/15882054
arr_el = json.loads(json.dumps(data),
object_hook=lambda d: namedtuple('Ticker', d.keys())(*d.values()))
obj_arr.append(arr_el)
return obj_arr
def get_ticker_price(self, ticker, def get_ticker_price(self, ticker,
startDate=None, endDate=None, startDate=None, endDate=None,
@@ -168,8 +172,13 @@ class TiingoClient(RestClient):
if fmt == 'json': if fmt == 'json':
return data return data
elif fmt == 'object': elif fmt == 'object':
return json.loads(json.dumps(data), obj_arr = []
object_hook=lambda d: namedtuple('NewsArticle', d.keys())(*d.values())) for el in data:
# inspired by https://stackoverflow.com/a/15882054
arr_el = json.loads(json.dumps(data),
object_hook=lambda d: namedtuple('NewsArticle', d.keys())(*d.values()))
obj_arr.append(arr_el)
return obj_arr
def get_bulk_news(self, file_id=None, fmt='json'): def get_bulk_news(self, file_id=None, fmt='json'):
"""Only available to institutional clients. """Only available to institutional clients.