from CryptoInterface import CryptoInterface from datetime import datetime, timedelta, date import CryptoItem import urllib.request import json import math class CryptoPrices(CryptoInterface): def __init__(self, coins): self.coins = coins super(CryptoPrices, self).__init__() def is_available(self): if len(self.coins) > 0 and len(self.coins) < 8: return True else: return False def __get_prices__(self): price=[] name=[] daychange=[] for coin in self.coins: data = urllib.request.urlopen("https://api.coingecko.com/api/v3/simple/price?ids="+coin+"&vs_currencies=USD&include_market_cap=false&include_24hr_vol=false&include_24hr_change=true&include_last_updated_at=false").read() dataJSON = json.loads(data.decode('utf-8')) raw = dataJSON[coin]["usd"] raw24h = dataJSON[coin]["usd_24h_change"] price.append(math.ceil(raw*100)/100) daychange.append(math.ceil(raw24h*100)/100) name.append(coin) return price,name,daychange