impr: handle exceptions in TabOverview

This commit is contained in:
283375 2023-10-23 16:18:35 +08:00
parent 1a37310091
commit 8558f5e403
Signed by: 283375
SSH Key Fingerprint: SHA256:UcX0qg6ZOSDOeieKPGokA5h7soykG61nz2uxuQgVLSk

View File

@ -1,3 +1,5 @@
import logging
from arcaea_offline.database import Database from arcaea_offline.database import Database
from PySide6.QtCore import QCoreApplication from PySide6.QtCore import QCoreApplication
from PySide6.QtGui import QShowEvent 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.designer.tabs.tabOverview_ui import Ui_TabOverview
from ui.extends.shared.language import LanguageChangeEventFilter from ui.extends.shared.language import LanguageChangeEventFilter
logger = logging.getLogger(__name__)
class TabOverview(Ui_TabOverview, QWidget): class TabOverview(Ui_TabOverview, QWidget):
def __init__(self, parent=None): def __init__(self, parent=None):
@ -22,18 +26,27 @@ class TabOverview(Ui_TabOverview, QWidget):
return super().showEvent(event) return super().showEvent(event)
def updateOverview(self): def updateOverview(self):
b30 = self.db.get_b30() or 0.00 try:
self.b30Label.setText(str(f"{b30:.3f}")) b30 = self.db.get_b30() or 0.00
self.databaseDescribeLabel.setText( self.b30Label.setText(str(f"{b30:.3f}"))
self.describeFormatString.format( except Exception:
self.db.count_packs(), logger.exception("Cannot get b30:")
self.db.count_songs(), self.b30Label.setText("ERR")
self.db.count_difficulties(),
self.db.count_chart_infos(), try:
self.db.count_complete_chart_infos(), self.databaseDescribeLabel.setText(
self.db.count_scores(), 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): def retranslateUi(self, *args):
super().retranslateUi(self) super().retranslateUi(self)