fix: DbScoreTableModel score deletion

This commit is contained in:
283375 2023-10-17 19:49:05 +08:00
parent 7271eaab55
commit b1af1f622e
Signed by: 283375
SSH Key Fingerprint: SHA256:UcX0qg6ZOSDOeieKPGokA5h7soykG61nz2uxuQgVLSk

View File

@ -1,9 +1,13 @@
import logging
from arcaea_offline.calculate import calculate_play_rating from arcaea_offline.calculate import calculate_play_rating
from arcaea_offline.models import Chart, Score from arcaea_offline.models import Chart, Score
from PySide6.QtCore import QCoreApplication, QModelIndex, QSortFilterProxyModel, Qt from PySide6.QtCore import QCoreApplication, QModelIndex, QSortFilterProxyModel, Qt
from .base import DbTableModel from .base import DbTableModel
logger = logging.getLogger(__name__)
class DbScoreTableModel(DbTableModel): class DbScoreTableModel(DbTableModel):
IdRole = Qt.ItemDataRole.UserRole + 10 IdRole = Qt.ItemDataRole.UserRole + 10
@ -147,11 +151,12 @@ class DbScoreTableModel(DbTableModel):
return False return False
try: try:
self._db.delete_score(self.__items[row][self.IdRole]) self._db.delete_score(self.__items[row][self.ScoreRole])
if syncDb: if syncDb:
self.syncDb() self.syncDb()
return True return True
except Exception: except Exception:
logger.exception(f"Table[Score]: Cannot remove row {row}")
return False return False
def removeRow(self, row: int, parent=...): def removeRow(self, row: int, parent=...):