mirror of
https://github.com/pyMC-dev/pyMC_Repeater.git
synced 2026-08-07 17:33:16 +02:00
add get_route_stats method to StorageCollector and corresponding API endpoint for packet stats
This commit is contained in:
@@ -75,6 +75,9 @@ class StorageCollector:
|
||||
logger.warning("Falling back to SQLite for packet type stats")
|
||||
return self.sqlite_handler.get_packet_type_stats(hours)
|
||||
|
||||
def get_route_stats(self, hours: int = 24) -> dict:
|
||||
return self.sqlite_handler.get_route_stats(hours)
|
||||
|
||||
def get_neighbors(self) -> dict:
|
||||
return self.sqlite_handler.get_neighbors()
|
||||
|
||||
|
||||
@@ -241,6 +241,18 @@ class APIEndpoints:
|
||||
logger.error(f"Error fetching logs: {e}")
|
||||
return {"error": str(e), "logs": []}
|
||||
|
||||
@cherrypy.expose
|
||||
@cherrypy.tools.json_out()
|
||||
@cors_enabled
|
||||
def packet_stats(self, hours=24):
|
||||
try:
|
||||
hours = int(hours)
|
||||
stats = self._get_storage().get_packet_stats(hours=hours)
|
||||
return self._success(stats)
|
||||
except Exception as e:
|
||||
logger.error(f"Error getting packet stats: {e}")
|
||||
return self._error(e)
|
||||
|
||||
@cherrypy.expose
|
||||
@cherrypy.tools.json_out()
|
||||
@cors_enabled
|
||||
@@ -447,6 +459,7 @@ class APIEndpoints:
|
||||
@cherrypy.expose
|
||||
@cherrypy.tools.json_out()
|
||||
@cherrypy.tools.json_in()
|
||||
@cors_enabled
|
||||
def cad_calibration_start(self):
|
||||
try:
|
||||
self._require_post()
|
||||
@@ -463,6 +476,7 @@ class APIEndpoints:
|
||||
|
||||
@cherrypy.expose
|
||||
@cherrypy.tools.json_out()
|
||||
@cors_enabled
|
||||
def cad_calibration_stop(self):
|
||||
try:
|
||||
self._require_post()
|
||||
@@ -475,6 +489,7 @@ class APIEndpoints:
|
||||
@cherrypy.expose
|
||||
@cherrypy.tools.json_out()
|
||||
@cherrypy.tools.json_in()
|
||||
@cors_enabled
|
||||
def save_cad_settings(self):
|
||||
try:
|
||||
self._require_post()
|
||||
|
||||
Reference in New Issue
Block a user