38 lines
1.1 KiB
Python
38 lines
1.1 KiB
Python
from flask import Flask, request
|
|
import sqlite3
|
|
|
|
# Create a Flask app and set up the API endpoint
|
|
app = Flask(__name__)
|
|
|
|
@app.route('/dump_db', methods=['GET'])
|
|
def dump_db():
|
|
# Connect to the SQLite database
|
|
conn = sqlite3.connect('database.db')
|
|
cursor = conn.cursor()
|
|
|
|
# Retrieve the data from the database
|
|
cursor.execute('SELECT * FROM price_data')
|
|
rows = cursor.fetchall()
|
|
|
|
# Format the data as a JSON document
|
|
data = {
|
|
'timestamp': [row[0] for row in rows],
|
|
'value': [row[1] for row in rows],
|
|
'symbol': [row[2] for row in rows],
|
|
'source': [row[3] for row in rows],
|
|
}
|
|
|
|
# Check if a timestamp was provided in the request
|
|
timestamp = request.args.get('timestamp')
|
|
if timestamp:
|
|
# Filter the data to only include rows with a timestamp greater than or equal to the provided value
|
|
data = {k: [v for i, v in enumerate(v) if data['timestamp'][i] >= timestamp] for k, v in data.items()}
|
|
|
|
# Return the data as a JSON response
|
|
return data
|
|
|
|
# Run the app
|
|
if __name__ == '__main__':
|
|
app.run()
|
|
|