api caller bugfix
This commit is contained in:
parent
bbd40b2160
commit
3220826cdc
146
api_caller.py
146
api_caller.py
@ -76,17 +76,18 @@ def updateStocksFinhubb():
|
|||||||
|
|
||||||
def updateStocks():
|
def updateStocks():
|
||||||
|
|
||||||
iexAPIkey = 'pk_d066d39789bd41caac209bca850a35db' #IEX
|
|
||||||
|
|
||||||
max_stocks = 200
|
|
||||||
|
|
||||||
f = open('csv/stocks_settings.json', 'r')
|
|
||||||
all_stocks_settings = json.load(f)
|
|
||||||
f.close()
|
|
||||||
stock_info = all_stocks_settings['symbols']
|
|
||||||
symbols = list(stock_info.keys())
|
|
||||||
print(symbols)
|
|
||||||
try:
|
try:
|
||||||
|
iexAPIkey = 'pk_d066d39789bd41caac209bca850a35db' #IEX
|
||||||
|
|
||||||
|
max_stocks = 200
|
||||||
|
|
||||||
|
f = open('csv/stocks_settings.json', 'r')
|
||||||
|
all_stocks_settings = json.load(f)
|
||||||
|
f.close()
|
||||||
|
stock_info = all_stocks_settings['symbols']
|
||||||
|
symbols = list(stock_info.keys())
|
||||||
|
print(symbols)
|
||||||
|
|
||||||
valid_symbols = []
|
valid_symbols = []
|
||||||
current_prices = []
|
current_prices = []
|
||||||
@ -154,42 +155,44 @@ def updateStocks():
|
|||||||
|
|
||||||
|
|
||||||
def updateCrypto():
|
def updateCrypto():
|
||||||
coingecko_client = CoinGeckoAPI()
|
|
||||||
|
|
||||||
f = open('csv/crypto_settings.json', 'r')
|
|
||||||
all_crypto_settings = json.load(f)
|
|
||||||
f.close()
|
|
||||||
|
|
||||||
coin_info = all_crypto_settings['symbols']
|
|
||||||
symbol_base = list(coin_info.keys())
|
|
||||||
|
|
||||||
symbols = [sb.split(',')[0] for sb in symbol_base]
|
|
||||||
bases = [sb.split(',')[1] for sb in symbol_base]
|
|
||||||
unique_bases = list(set(bases))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
coins = []
|
|
||||||
|
|
||||||
# coingecko rate limited me from calling this too often
|
|
||||||
#coin_list = coingecko_client.get_coins_list()
|
|
||||||
#json.dump(coin_list, open('csv/coin_list.json', 'w+'))
|
|
||||||
|
|
||||||
f = open('coin_list.json', 'r')
|
|
||||||
coin_list = json.load(f)
|
|
||||||
f.close()
|
|
||||||
|
|
||||||
# this might be super slow as coin_list is large
|
|
||||||
for s in symbols:
|
|
||||||
for c in coin_list:
|
|
||||||
if c['symbol'].upper() == s and c['id'] != 'binance-peg-cardano': # hackaround for two coins with symbol ada:
|
|
||||||
coins.append(c['id'])
|
|
||||||
|
|
||||||
crypto_info = {}
|
|
||||||
print(coins)
|
|
||||||
|
|
||||||
#cypto_info['symbol, base'].keys() = ['current','24hr change']
|
#cypto_info['symbol, base'].keys() = ['current','24hr change']
|
||||||
try:
|
try:
|
||||||
|
|
||||||
|
coingecko_client = CoinGeckoAPI()
|
||||||
|
|
||||||
|
f = open('csv/crypto_settings.json', 'r')
|
||||||
|
all_crypto_settings = json.load(f)
|
||||||
|
f.close()
|
||||||
|
|
||||||
|
coin_info = all_crypto_settings['symbols']
|
||||||
|
symbol_base = list(coin_info.keys())
|
||||||
|
|
||||||
|
symbols = [sb.split(',')[0] for sb in symbol_base]
|
||||||
|
bases = [sb.split(',')[1] for sb in symbol_base]
|
||||||
|
unique_bases = list(set(bases))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
coins = []
|
||||||
|
|
||||||
|
# coingecko rate limited me from calling this too often
|
||||||
|
#coin_list = coingecko_client.get_coins_list()
|
||||||
|
#json.dump(coin_list, open('csv/coin_list.json', 'w+'))
|
||||||
|
|
||||||
|
f = open('coin_list.json', 'r')
|
||||||
|
coin_list = json.load(f)
|
||||||
|
f.close()
|
||||||
|
|
||||||
|
# this might be super slow as coin_list is large
|
||||||
|
for s in symbols:
|
||||||
|
for c in coin_list:
|
||||||
|
if c['symbol'].upper() == s and c['id'] != 'binance-peg-cardano': # hackaround for two coins with symbol ada:
|
||||||
|
coins.append(c['id'])
|
||||||
|
|
||||||
|
crypto_info = {}
|
||||||
|
print(coins)
|
||||||
response = coingecko_client.get_price(ids=','.join(coins), vs_currencies = unique_bases, include_24hr_change=True)
|
response = coingecko_client.get_price(ids=','.join(coins), vs_currencies = unique_bases, include_24hr_change=True)
|
||||||
|
|
||||||
#print(response)
|
#print(response)
|
||||||
@ -216,28 +219,29 @@ def updateCrypto():
|
|||||||
|
|
||||||
def updateForex():
|
def updateForex():
|
||||||
|
|
||||||
f = open('csv/forex_settings.json', 'r')
|
|
||||||
all_forex_settings = json.load(f)
|
|
||||||
f.close()
|
|
||||||
|
|
||||||
forex_info = all_forex_settings['symbols']
|
|
||||||
symbol_base = list(forex_info.keys())
|
|
||||||
|
|
||||||
symbols = [sb.split(',')[0] for sb in symbol_base]
|
|
||||||
bases = [sb.split(',')[1] for sb in symbol_base]
|
|
||||||
unique_bases = list(set(bases))
|
|
||||||
|
|
||||||
all_responses = []
|
|
||||||
|
|
||||||
# get timeseries from two days ago until today in case it hasnt updated for today yet
|
|
||||||
yesterday = datetime.now() - timedelta(1)
|
|
||||||
yesteryesterday = datetime.now() - timedelta(2)
|
|
||||||
|
|
||||||
str_tod = datetime.strftime(datetime.now(), '%Y-%m-%d')
|
|
||||||
str_yest = datetime.strftime(yesterday, '%Y-%m-%d')
|
|
||||||
str_yestyest = datetime.strftime(yesteryesterday, '%Y-%m-%d')
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
f = open('csv/forex_settings.json', 'r')
|
||||||
|
all_forex_settings = json.load(f)
|
||||||
|
f.close()
|
||||||
|
|
||||||
|
forex_info = all_forex_settings['symbols']
|
||||||
|
symbol_base = list(forex_info.keys())
|
||||||
|
|
||||||
|
symbols = [sb.split(',')[0] for sb in symbol_base]
|
||||||
|
bases = [sb.split(',')[1] for sb in symbol_base]
|
||||||
|
unique_bases = list(set(bases))
|
||||||
|
|
||||||
|
all_responses = []
|
||||||
|
|
||||||
|
# get timeseries from two days ago until today in case it hasnt updated for today yet
|
||||||
|
yesterday = datetime.now() - timedelta(1)
|
||||||
|
yesteryesterday = datetime.now() - timedelta(2)
|
||||||
|
|
||||||
|
str_tod = datetime.strftime(datetime.now(), '%Y-%m-%d')
|
||||||
|
str_yest = datetime.strftime(yesterday, '%Y-%m-%d')
|
||||||
|
str_yestyest = datetime.strftime(yesteryesterday, '%Y-%m-%d')
|
||||||
for base in unique_bases:
|
for base in unique_bases:
|
||||||
|
|
||||||
url = 'https://api.frankfurter.app/{}..{}?from={}'.format(str_yestyest, str_tod, base)
|
url = 'https://api.frankfurter.app/{}..{}?from={}'.format(str_yestyest, str_tod, base)
|
||||||
@ -433,13 +437,14 @@ def updateWeather():
|
|||||||
|
|
||||||
def updateLeagueTables(api_key, league_ids):
|
def updateLeagueTables(api_key, league_ids):
|
||||||
|
|
||||||
f = open('csv/league_tables.json', 'r')
|
|
||||||
all_settings = json.load(f)
|
|
||||||
f.close()
|
|
||||||
|
|
||||||
leagues = all_settings['leagues'].keys()
|
|
||||||
leagues_info = {}
|
|
||||||
try:
|
try:
|
||||||
|
f = open('csv/league_tables.json', 'r')
|
||||||
|
all_settings = json.load(f)
|
||||||
|
f.close()
|
||||||
|
|
||||||
|
leagues = all_settings['leagues'].keys()
|
||||||
|
leagues_info = {}
|
||||||
for league in leagues:
|
for league in leagues:
|
||||||
league_id = league_ids[league]
|
league_id = league_ids[league]
|
||||||
url = 'https://www.thesportsdb.com/api/v1/json/{}/lookuptable.php?l={}&s=2020-2021'.format(api_key, league_id)
|
url = 'https://www.thesportsdb.com/api/v1/json/{}/lookuptable.php?l={}&s=2020-2021'.format(api_key, league_id)
|
||||||
@ -504,11 +509,12 @@ def updateLeagueEvents(api_key, league_ids, time):
|
|||||||
url = 'https://thesportsdb.com/api/v2/json/{}/livescore.php?l={}'
|
url = 'https://thesportsdb.com/api/v2/json/{}/livescore.php?l={}'
|
||||||
|
|
||||||
|
|
||||||
all_settings = json.load(f)
|
|
||||||
f.close()
|
|
||||||
leagues = all_settings['leagues'].keys()
|
|
||||||
leagues_info = {}
|
|
||||||
try:
|
try:
|
||||||
|
all_settings = json.load(f)
|
||||||
|
f.close()
|
||||||
|
leagues = all_settings['leagues'].keys()
|
||||||
|
leagues_info = {}
|
||||||
for league in leagues:
|
for league in leagues:
|
||||||
league_id = league_ids[league]
|
league_id = league_ids[league]
|
||||||
url = url.format(api_key, league_id)
|
url = url.format(api_key, league_id)
|
||||||
|
Loading…
Reference in New Issue
Block a user