mirror of
https://github.com/craigerl/aprsd.git
synced 2025-08-04 06:22:25 -04:00
Updated Admin UI to show KISS connections
This updates the top area of the Admin UI to reflect the connection type (aprs-is vs kiss).
This commit is contained in:
parent
f4dee4b202
commit
ca438c9c60
@ -11,7 +11,7 @@ from flask_httpauth import HTTPBasicAuth
|
|||||||
from werkzeug.security import check_password_hash, generate_password_hash
|
from werkzeug.security import check_password_hash, generate_password_hash
|
||||||
|
|
||||||
import aprsd
|
import aprsd
|
||||||
from aprsd import messaging, packets, plugin, stats, utils
|
from aprsd import kissclient, messaging, packets, plugin, stats, utils
|
||||||
|
|
||||||
|
|
||||||
LOG = logging.getLogger("APRSD")
|
LOG = logging.getLogger("APRSD")
|
||||||
@ -65,9 +65,38 @@ class APRSDFlask(flask_classful.FlaskView):
|
|||||||
plugins = pm.get_plugins()
|
plugins = pm.get_plugins()
|
||||||
plugin_count = len(plugins)
|
plugin_count = len(plugins)
|
||||||
|
|
||||||
|
if self.config["aprs"].get("enabled", True):
|
||||||
|
transport = "aprs-is"
|
||||||
|
aprs_connection = (
|
||||||
|
"APRS-IS Server: <a href='http://status.aprs2.net' >"
|
||||||
|
"{}</a>".format(stats["stats"]["aprs-is"]["server"])
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
# We might be connected to a KISS socket?
|
||||||
|
if kissclient.KISSClient.kiss_enabled(self.config):
|
||||||
|
transport = kissclient.KISSClient.transport(self.config)
|
||||||
|
if transport == kissclient.TRANSPORT_TCPKISS:
|
||||||
|
aprs_connection = (
|
||||||
|
"TCPKISS://{}:{}".format(
|
||||||
|
self.config["kiss"]["tcp"]["host"],
|
||||||
|
self.config["kiss"]["tcp"]["port"],
|
||||||
|
)
|
||||||
|
)
|
||||||
|
elif transport == kissclient.TRANSPORT_SERIALKISS:
|
||||||
|
aprs_connection = (
|
||||||
|
"SerialKISS://{}@{} baud".format(
|
||||||
|
self.config["kiss"]["serial"]["device"],
|
||||||
|
self.config["kiss"]["serial"]["baudrate"],
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
stats["transport"] = transport
|
||||||
|
stats["aprs_connection"] = aprs_connection
|
||||||
|
|
||||||
return flask.render_template(
|
return flask.render_template(
|
||||||
"index.html",
|
"index.html",
|
||||||
initial_stats=stats,
|
initial_stats=stats,
|
||||||
|
aprs_connection=aprs_connection,
|
||||||
callsign=self.config["aprs"]["login"],
|
callsign=self.config["aprs"]["login"],
|
||||||
version=aprsd.__version__,
|
version=aprsd.__version__,
|
||||||
config_json=json.dumps(self.config),
|
config_json=json.dumps(self.config),
|
||||||
|
@ -8,6 +8,8 @@ from aioax25.aprs import APRSInterface
|
|||||||
from aprsd import trace
|
from aprsd import trace
|
||||||
|
|
||||||
|
|
||||||
|
TRANSPORT_TCPKISS = "tcpkiss"
|
||||||
|
TRANSPORT_SERIALKISS = "serialkiss"
|
||||||
LOG = logging.getLogger("APRSD")
|
LOG = logging.getLogger("APRSD")
|
||||||
|
|
||||||
|
|
||||||
@ -32,6 +34,9 @@ class KISSClient:
|
|||||||
@staticmethod
|
@staticmethod
|
||||||
def kiss_enabled(config):
|
def kiss_enabled(config):
|
||||||
"""Return if tcp or serial KISS is enabled."""
|
"""Return if tcp or serial KISS is enabled."""
|
||||||
|
if "kiss" not in config:
|
||||||
|
return False
|
||||||
|
|
||||||
if "serial" in config["kiss"]:
|
if "serial" in config["kiss"]:
|
||||||
if config["kiss"]["serial"].get("enabled", False):
|
if config["kiss"]["serial"].get("enabled", False):
|
||||||
return True
|
return True
|
||||||
@ -40,6 +45,16 @@ class KISSClient:
|
|||||||
if config["kiss"]["tcp"].get("enabled", False):
|
if config["kiss"]["tcp"].get("enabled", False):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def transport(config):
|
||||||
|
if "serial" in config["kiss"]:
|
||||||
|
if config["kiss"]["serial"].get("enabled", False):
|
||||||
|
return TRANSPORT_SERIALKISS
|
||||||
|
|
||||||
|
if "tcp" in config["kiss"]:
|
||||||
|
if config["kiss"]["tcp"].get("enabled", False):
|
||||||
|
return TRANSPORT_TCPKISS
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def client(self):
|
def client(self):
|
||||||
if not self.ax25client:
|
if not self.ax25client:
|
||||||
|
@ -491,12 +491,7 @@ def server(
|
|||||||
messaging.MsgTrack().load()
|
messaging.MsgTrack().load()
|
||||||
|
|
||||||
packets.PacketList(config=config)
|
packets.PacketList(config=config)
|
||||||
|
packets.WatchList(config=config)
|
||||||
if "watch_list" in config["aprsd"] and config["aprsd"]["watch_list"].get(
|
|
||||||
"enabled",
|
|
||||||
True,
|
|
||||||
):
|
|
||||||
packets.WatchList(config=config)
|
|
||||||
|
|
||||||
if kissclient.KISSClient.kiss_enabled(config):
|
if kissclient.KISSClient.kiss_enabled(config):
|
||||||
kcl = kissclient.KISSClient(config=config)
|
kcl = kissclient.KISSClient(config=config)
|
||||||
|
@ -19,6 +19,7 @@ LOG = logging.getLogger("APRSD")
|
|||||||
NULL_MESSAGE = -1
|
NULL_MESSAGE = -1
|
||||||
|
|
||||||
MESSAGE_TRANSPORT_TCPKISS = "tcpkiss"
|
MESSAGE_TRANSPORT_TCPKISS = "tcpkiss"
|
||||||
|
MESSAGE_TRANSPORT_SERIALKISS = "serialkiss"
|
||||||
MESSAGE_TRANSPORT_APRSIS = "aprsis"
|
MESSAGE_TRANSPORT_APRSIS = "aprsis"
|
||||||
|
|
||||||
|
|
||||||
|
@ -220,7 +220,7 @@ function updateQuadData(chart, label, first, second, third, fourth) {
|
|||||||
|
|
||||||
function update_stats( data ) {
|
function update_stats( data ) {
|
||||||
$("#version").text( data["stats"]["aprsd"]["version"] );
|
$("#version").text( data["stats"]["aprsd"]["version"] );
|
||||||
$("#aprsis").html( "APRS-IS Server: <a href='http://status.aprs2.net' >" + data["stats"]["aprs-is"]["server"] + "</a>" );
|
$("#aprs_connection").html( data["aprs_connection"] );
|
||||||
$("#uptime").text( "uptime: " + data["stats"]["aprsd"]["uptime"] );
|
$("#uptime").text( "uptime: " + data["stats"]["aprsd"]["uptime"] );
|
||||||
const html_pretty = Prism.highlight(JSON.stringify(data, null, '\t'), Prism.languages.json, 'json');
|
const html_pretty = Prism.highlight(JSON.stringify(data, null, '\t'), Prism.languages.json, 'json');
|
||||||
$("#jsonstats").html(html_pretty);
|
$("#jsonstats").html(html_pretty);
|
||||||
|
@ -58,7 +58,7 @@
|
|||||||
<div class='left floated ten wide column'>
|
<div class='left floated ten wide column'>
|
||||||
<span style='color: green'>{{ callsign }}</span>
|
<span style='color: green'>{{ callsign }}</span>
|
||||||
connected to
|
connected to
|
||||||
<span style='color: blue' id='aprsis'>NONE</span>
|
<span style='color: blue' id='aprs_connection'>{{ aprs_connection|safe }}</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class='right floated four wide column'>
|
<div class='right floated four wide column'>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user