From 24673579cd8763e6fc0b1d703f639c3c51b9c958 Mon Sep 17 00:00:00 2001 From: Rightup Date: Mon, 27 Jul 2026 22:33:43 +0100 Subject: [PATCH] fix: update get_noise_floor_history to include offset parameter --- repeater/data_acquisition/sqlite_handler.py | 10 +++++++--- repeater/data_acquisition/storage_collector.py | 4 ++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/repeater/data_acquisition/sqlite_handler.py b/repeater/data_acquisition/sqlite_handler.py index ef088bf..d4dca65 100644 --- a/repeater/data_acquisition/sqlite_handler.py +++ b/repeater/data_acquisition/sqlite_handler.py @@ -2379,12 +2379,15 @@ class SQLiteHandler: logger.error(f"Failed to get neighbors: {e}") return {} - def get_noise_floor_history(self, hours: int = 24, limit: int = None) -> list: + def get_noise_floor_history(self, hours: int = 24, limit: int = None, offset: int = 0) -> list: try: cutoff = time.time() - (hours * 3600) if limit is None: - limit = 1000 + limit = max(2000, min(1_000_000, int(hours) * 300)) + else: + limit = max(1, min(1_000_000, int(limit))) + offset = max(0, int(offset)) with self._connect() as conn: conn.row_factory = sqlite3.Row @@ -2395,9 +2398,10 @@ class SQLiteHandler: WHERE timestamp > ? ORDER BY timestamp DESC LIMIT ? + OFFSET ? """ - measurements = conn.execute(query, (cutoff, int(limit))).fetchall() + measurements = conn.execute(query, (cutoff, int(limit), offset)).fetchall() # Reverse to get chronological order (oldest to newest) result = [ diff --git a/repeater/data_acquisition/storage_collector.py b/repeater/data_acquisition/storage_collector.py index 015e7bb..1410a5d 100644 --- a/repeater/data_acquisition/storage_collector.py +++ b/repeater/data_acquisition/storage_collector.py @@ -565,8 +565,8 @@ class StorageCollector: def cleanup_old_data(self, days: int = 7, companion_events_days: Optional[int] = None): self.sqlite_handler.cleanup_old_data(days, companion_events_days=companion_events_days) - def get_noise_floor_history(self, hours: int = 24, limit: int = None) -> list: - return self.sqlite_handler.get_noise_floor_history(hours, limit) + def get_noise_floor_history(self, hours: int = 24, limit: int = None, offset: int = 0) -> list: + return self.sqlite_handler.get_noise_floor_history(hours, limit, offset) def get_noise_floor_stats(self, hours: int = 24) -> dict: return self.sqlite_handler.get_noise_floor_stats(hours)