mirror of https://github.com/01-edu/public.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
876 B
35 lines
876 B
from flask import Flask, jsonify |
|
from flask_cors import CORS |
|
|
|
import time |
|
from utils import load_historical_data |
|
|
|
app = Flask(__name__) |
|
CORS(app) |
|
|
|
start_time = time.time() |
|
|
|
historical_data = load_historical_data() |
|
|
|
@app.route('/exchange_rate/<symbol>') |
|
def get_stock_data(symbol): |
|
if symbol not in list(historical_data.keys()): |
|
return jsonify("Invalid symbol") |
|
current_time = time.time() |
|
step = (int(current_time * 10) - int(start_time * 10)) % len(historical_data[symbol]) |
|
try: |
|
return jsonify({ |
|
'symbol': 'USD', |
|
'rate': float(historical_data[symbol][step]), |
|
'timestamp': current_time |
|
}) |
|
except: |
|
return "Server Error" |
|
|
|
@app.route('/stocks_list') |
|
def list_symbols(): |
|
return jsonify(list(historical_data.keys())) |
|
|
|
|
|
if __name__ == '__main__': |
|
app.run(host='0.0.0.0', port=5001)
|
|
|