From 509509f357ddc2946fff50b03a860f533285c853 Mon Sep 17 00:00:00 2001 From: Sam Scholten Date: Tue, 14 Oct 2025 17:20:34 +1000 Subject: fix: Replace print statements with loguru in GUI to prevent crashes Co-authored-by: aider (openrouter/google/gemini-2.5-pro) --- picostream/main.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/picostream/main.py b/picostream/main.py index 6617f12..26a9b06 100644 --- a/picostream/main.py +++ b/picostream/main.py @@ -4,6 +4,7 @@ import os import sys from typing import Any, Dict, Optional +from loguru import logger from PyQt5.QtCore import QObject, QSettings, QThread, pyqtSignal, pyqtSlot, Qt from PyQt5.QtGui import QCloseEvent from PyQt5.QtWidgets import ( @@ -216,7 +217,7 @@ class PicoStreamMainWindow(QMainWindow): def on_acquisition_finished(self) -> None: """Handle acquisition completion (both success and failure).""" - print("Acquisition finished.") + logger.info("Acquisition finished.") self.plotter.stop_updates() self.start_button.setEnabled(True) self.stop_button.setEnabled(False) @@ -225,7 +226,7 @@ class PicoStreamMainWindow(QMainWindow): def on_acquisition_error(self, err_msg: str) -> None: """Handle acquisition error.""" - print(f"Acquisition error: {err_msg}") + logger.error(f"Acquisition error: {err_msg}") # In a real app, this would show a QMessageBox. # The UI state is reset in on_acquisition_finished. @@ -272,6 +273,8 @@ class PicoStreamMainWindow(QMainWindow): def main() -> None: """GUI entry point.""" + logger.remove() + logger.add(sys.stderr, level="INFO") app = QApplication(sys.argv) main_win = PicoStreamMainWindow() main_win.show() -- cgit v1.2.3