From 8558f5e403b9f69c44ecbaa7599e20d8bd5742db Mon Sep 17 00:00:00 2001 From: 283375 Date: Mon, 23 Oct 2023 16:18:35 +0800 Subject: [PATCH] impr: handle exceptions in `TabOverview` --- ui/implements/tabs/tabOverview.py | 35 +++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/ui/implements/tabs/tabOverview.py b/ui/implements/tabs/tabOverview.py index d419bb4..4c99b19 100644 --- a/ui/implements/tabs/tabOverview.py +++ b/ui/implements/tabs/tabOverview.py @@ -1,3 +1,5 @@ +import logging + from arcaea_offline.database import Database from PySide6.QtCore import QCoreApplication from PySide6.QtGui import QShowEvent @@ -6,6 +8,8 @@ from PySide6.QtWidgets import QWidget from ui.designer.tabs.tabOverview_ui import Ui_TabOverview from ui.extends.shared.language import LanguageChangeEventFilter +logger = logging.getLogger(__name__) + class TabOverview(Ui_TabOverview, QWidget): def __init__(self, parent=None): @@ -22,18 +26,27 @@ class TabOverview(Ui_TabOverview, QWidget): return super().showEvent(event) def updateOverview(self): - b30 = self.db.get_b30() or 0.00 - self.b30Label.setText(str(f"{b30:.3f}")) - self.databaseDescribeLabel.setText( - self.describeFormatString.format( - self.db.count_packs(), - self.db.count_songs(), - self.db.count_difficulties(), - self.db.count_chart_infos(), - self.db.count_complete_chart_infos(), - self.db.count_scores(), + try: + b30 = self.db.get_b30() or 0.00 + self.b30Label.setText(str(f"{b30:.3f}")) + except Exception: + logger.exception("Cannot get b30:") + self.b30Label.setText("ERR") + + try: + self.databaseDescribeLabel.setText( + self.describeFormatString.format( + self.db.count_packs(), + self.db.count_songs(), + self.db.count_difficulties(), + self.db.count_chart_infos(), + self.db.count_complete_chart_infos(), + self.db.count_scores(), + ) ) - ) + except Exception: + logger.exception("Cannot update overview:") + self.databaseDescribeLabel.setText("ERR") def retranslateUi(self, *args): super().retranslateUi(self)