Stub out index/status page.
This commit is contained in:
parent
4203af5b81
commit
e2c3adf5c0
19
api_app.py
19
api_app.py
|
@ -1,4 +1,4 @@
|
||||||
from flask import Flask, request
|
from flask import Flask, request, render_template
|
||||||
from flask_restful import Resource, Api, reqparse
|
from flask_restful import Resource, Api, reqparse
|
||||||
from datetime import date, timedelta
|
from datetime import date, timedelta
|
||||||
import configparser
|
import configparser
|
||||||
|
@ -6,6 +6,7 @@ import csv
|
||||||
import ast
|
import ast
|
||||||
import glob
|
import glob
|
||||||
import json, operator
|
import json, operator
|
||||||
|
import requests
|
||||||
import sqlite3
|
import sqlite3
|
||||||
api_app = Flask(__name__)
|
api_app = Flask(__name__)
|
||||||
api = Api(api_app)
|
api = Api(api_app)
|
||||||
|
@ -89,6 +90,18 @@ def select_frames(conn, n, from_, url_params):
|
||||||
rows = cur.fetchall()
|
rows = cur.fetchall()
|
||||||
return rows
|
return rows
|
||||||
|
|
||||||
|
@api_app.route('/')
|
||||||
|
def index():
|
||||||
|
|
||||||
|
# Get list of recent packets using API
|
||||||
|
# TODO use relative path
|
||||||
|
response = json.loads(requests.get("https://digi.w1cdn.net/aprs_api/packets").text)['data']
|
||||||
|
return render_template('index.html',
|
||||||
|
station_call = config['Settings']['station_call'],
|
||||||
|
station_lat = config['Settings']['station_lat'],
|
||||||
|
station_lon = config['Settings']['station_lon'],
|
||||||
|
d = response)
|
||||||
|
|
||||||
class Packets(Resource):
|
class Packets(Resource):
|
||||||
def get(self):
|
def get(self):
|
||||||
# Handle arguments that may or may not exist
|
# Handle arguments that may or may not exist
|
||||||
|
@ -103,7 +116,7 @@ class Packets(Resource):
|
||||||
data = select_frames(conn, n = n, from_ = from_, url_params = request.args.to_dict())
|
data = select_frames(conn, n = n, from_ = from_, url_params = request.args.to_dict())
|
||||||
# Sort by created date, descending (https://stackoverflow.com/a/45266808)
|
# Sort by created date, descending (https://stackoverflow.com/a/45266808)
|
||||||
#data.sort(key=operator.itemgetter('created'), reverse=True)
|
#data.sort(key=operator.itemgetter('created'), reverse=True)
|
||||||
return {'data': data}, 200 # return data and 200 OK code
|
return {data}, 200 # return data and 200 OK code
|
||||||
|
|
||||||
# Read config
|
# Read config
|
||||||
config = read_config()
|
config = read_config()
|
||||||
|
@ -113,7 +126,7 @@ log_folder = config['Settings']['log_folder']
|
||||||
import subprocess
|
import subprocess
|
||||||
subprocess.Popen(["python3","kiss_and_db.py"])
|
subprocess.Popen(["python3","kiss_and_db.py"])
|
||||||
|
|
||||||
api.add_resource(Packets, '/packets') # and '/locations' is our entry point for Locations
|
api.add_resource(Packets, '/packets')
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
api_app.run(debug=True, host='0.0.0.0', port=5001) # run our Flask app
|
api_app.run(debug=True, host='0.0.0.0', port=5001) # run our Flask app
|
||||||
|
|
39
templates/index.html
Normal file
39
templates/index.html
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>{{station_call}} Status</title>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
table, th, td {
|
||||||
|
border: 1px solid black;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h1>{{station_call}} Status</h1>
|
||||||
|
<h2>{{station_lat}}, {{station_lon}}</h2>
|
||||||
|
|
||||||
|
<h3> Recent RF Packets </h3>
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<th> from </th>
|
||||||
|
<th> object_name </th>
|
||||||
|
<th> created (utc) </th>
|
||||||
|
<th> more </th>
|
||||||
|
</tr>
|
||||||
|
{% for i in d %}
|
||||||
|
<tr>
|
||||||
|
<td> <a href="https://digi.w1cdn.net/aprs_api/packets?from={{ i['from'] }}">{{ i['from'] }}</a> </td>
|
||||||
|
<td> {{ i['object_name'] }} </td>
|
||||||
|
<td> {{ i['created'] }} </td>
|
||||||
|
<td> <a href="https://digi.w1cdn.net/aprs_api/packets?id={{ i['id'] }}">more</a>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<h3> Recent Stations </h3>
|
||||||
|
Coming soon, see <a href="https://amiok.net/gitea/W1CDN/aprs_tool/issues/16">https://amiok.net/gitea/W1CDN/aprs_tool/issues/16</a>.
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
Loading…
Reference in New Issue
Block a user