mirror of
https://github.com/hydrosquall/tiingo-python.git
synced 2025-12-17 20:04:19 +01:00
pep8 corrections and changed all object names
This commit is contained in:
@@ -79,6 +79,10 @@ class TestTickerPrices(TestCase):
|
||||
assert len(tickers) > 1
|
||||
assert all(ticker['assetType'] == 'Stock' for ticker in tickers)
|
||||
|
||||
def test_ticker_metadata_for_object(self):
|
||||
data = self._client.get_ticker_metadata("GOOGL", fmt='object')
|
||||
assert len(data.name) > 1
|
||||
|
||||
|
||||
# tiingo/news
|
||||
class TestNews(TestCase):
|
||||
|
||||
@@ -81,7 +81,7 @@ class TiingoClient(RestClient):
|
||||
return [row for row in reader
|
||||
if row.get('assetType') == 'Stock']
|
||||
|
||||
def get_ticker_metadata(self, ticker,fmt='json'):
|
||||
def get_ticker_metadata(self, ticker, fmt='json'):
|
||||
"""Return metadata for 1 ticker
|
||||
Use TiingoClient.list_tickers() to get available options
|
||||
|
||||
@@ -90,11 +90,13 @@ class TiingoClient(RestClient):
|
||||
"""
|
||||
url = "tiingo/daily/{}".format(ticker)
|
||||
response = self._request('GET', url)
|
||||
if fmt=='json':
|
||||
return response.json()
|
||||
elif fmt=='object':
|
||||
data = response.json()
|
||||
if fmt == 'json':
|
||||
return data
|
||||
elif fmt == 'object':
|
||||
# inspired by https://stackoverflow.com/a/15882054
|
||||
return json.loads(json.dumps(response.json()), object_hook=lambda d: namedtuple('X', d.keys())(*d.values()))
|
||||
return json.loads(json.dumps(data),
|
||||
object_hook=lambda d: namedtuple('Ticker', d.keys())(*d.values()))
|
||||
|
||||
def get_ticker_price(self, ticker,
|
||||
startDate=None, endDate=None,
|
||||
@@ -134,7 +136,8 @@ class TiingoClient(RestClient):
|
||||
# NEWS FEEDS
|
||||
# tiingo/news
|
||||
def get_news(self, tickers=[], tags=[], sources=[], startDate=None,
|
||||
endDate=None, limit=100, offset=0, sortBy="publishedDate",fmt='json'):
|
||||
endDate=None, limit=100, offset=0, sortBy="publishedDate",
|
||||
fmt='json'):
|
||||
"""Return list of news articles matching given search terms
|
||||
https://api.tiingo.com/docs/tiingo/news
|
||||
|
||||
@@ -161,12 +164,14 @@ class TiingoClient(RestClient):
|
||||
'endDate': endDate
|
||||
}
|
||||
response = self._request('GET', url, params=params)
|
||||
if fmt=='json':
|
||||
return response.json()
|
||||
elif fmt=='object':
|
||||
return json.loads(json.dumps(response.json()), object_hook=lambda d: namedtuple('X', d.keys())(*d.values()))
|
||||
data = response.json()
|
||||
if fmt == 'json':
|
||||
return data
|
||||
elif fmt == 'object':
|
||||
return json.loads(json.dumps(data),
|
||||
object_hook=lambda d: namedtuple('NewsArticle', d.keys())(*d.values()))
|
||||
|
||||
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.
|
||||
If ID is NOT provided, return array of available file_ids.
|
||||
If ID is provided, provides URL which you can use to download your
|
||||
@@ -178,7 +183,9 @@ class TiingoClient(RestClient):
|
||||
url = "tiingo/news/bulk_download"
|
||||
|
||||
response = self._request('GET', url)
|
||||
if fmt=='json':
|
||||
return response.json()
|
||||
elif fmt=='object':
|
||||
return json.loads(json.dumps(response.json()), object_hook=lambda d: namedtuple('X', d.keys())(*d.values()))
|
||||
data = response.json()
|
||||
if fmt == 'json':
|
||||
return data
|
||||
elif fmt == 'object':
|
||||
return json.loads(json.dumps(data),
|
||||
object_hook=lambda d: namedtuple('BulkDownload', d.keys())(*d.values()))
|
||||
|
||||
Reference in New Issue
Block a user