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