|
|
@@ -15,7 +15,7 @@ session = Session()
|
|
|
def result50(date=datetime.now()):
|
|
|
result = []
|
|
|
for x in session.query(CoinMarketPosition,Coin).filter(func.Date(CoinMarketPosition.date) == date.date()).distinct(Coin.id).join(Coin).order_by(CoinMarketPosition.market_caps.desc()).limit(50).all():
|
|
|
- result.append((x[1].symbol, x[0].market_caps, x[0].prices))
|
|
|
+ result.append((x[1].symbol, x[0].market_caps, x[0].prices, x[1].id))
|
|
|
return result
|
|
|
|
|
|
@app.route("/")
|
|
|
@@ -27,13 +27,20 @@ def top50async(date="2020-01-12"):
|
|
|
def top50json(date):
|
|
|
d = datetime.strptime(date, "%d-%m-%Y")
|
|
|
results = result50(d)
|
|
|
- arr = [{'name':x[0],'marketCap':x[1], 'prices':x[2]} for x in results]
|
|
|
+ arr = [{'name':x[0],'marketCap':x[1], 'prices':x[2], 'id':x[3]} for x in results]
|
|
|
return jsonify(arr)
|
|
|
|
|
|
@app.route('/coin/<id>/')
|
|
|
def coinHistory(id):
|
|
|
- results = session.query(CoinMarketPosition).filter(CoinMarketPosition.coin_id==id).all()
|
|
|
- return jsonify([ {'date':marketPos.date,'marketCap':marketPos.market_caps} for marketPos in results])
|
|
|
+ results = session.query(CoinMarketPosition, Coin).filter(Coin.id==id).join(CoinMarketPosition).all()
|
|
|
+ return jsonify([ {'date':marketPos[0].date,'prices':marketPos[0].prices, 'name':marketPos[1].symbol} for marketPos in results])
|
|
|
+
|
|
|
+@app.route('/coin/chart/<id>/')
|
|
|
+def coinChart(id="bitcoin"):
|
|
|
+ currentCoin = session.query(Coin).filter(Coin.id==id).first()
|
|
|
+ nextRowId = currentCoin.row_id + 1
|
|
|
+ nextCoin = session.query(Coin).filter(Coin.row_id==nextRowId).first()
|
|
|
+ return render_template('chart_coin.html', id=id , nextId=nextCoin.id)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
app.run(debug=True)
|