api caller bugfix

This commit is contained in:
Your Name 2021-12-21 10:17:43 +00:00
parent bbd40b2160
commit 3220826cdc

View File

@ -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)