wip: arcaea-offline==0.2.0

- fix imports
This commit is contained in:
2023-08-28 22:45:50 +08:00
parent a9941e9c87
commit 2e6ca98f7d
17 changed files with 227 additions and 155 deletions

View File

@ -1,4 +1,3 @@
from arcaea_offline.models import ScoreInsert
from PySide6.QtCore import QModelIndex, Qt, Slot
from PySide6.QtGui import QColor, QPalette
from PySide6.QtWidgets import QMessageBox
@ -21,7 +20,7 @@ class TableScoreDelegate(ScoreDelegate):
def getChart(self, index):
return index.data(DbB30TableModel.ChartRole)
def getScoreInsert(self, index: QModelIndex) -> ScoreInsert | None:
def getScoreInsert(self, index: QModelIndex):
return super().getScoreInsert(index)
def getScore(self, index):

View File

@ -2,7 +2,8 @@ import logging
import traceback
from arcaea_offline.database import Database
from arcaea_offline.external import St3ScoreSource
from arcaea_offline.external.arcaea.st3 import St3ScoreParser
from arcaea_offline.external.arcsong import ArcsongDbParser
from PySide6.QtCore import Slot
from PySide6.QtWidgets import QFileDialog, QMessageBox, QWidget
@ -26,7 +27,11 @@ class TabDb_Manage(Ui_TabDb_Manage, QWidget):
return
try:
Database().update_arcsong_db(dbFile)
db = Database()
parser = ArcsongDbParser(dbFile)
with db.sessionmaker() as session:
parser.write_database(session)
session.commit()
QMessageBox.information(self, None, "OK")
except Exception as e:
logging.exception("Sync arcsong.db error")
@ -42,11 +47,14 @@ class TabDb_Manage(Ui_TabDb_Manage, QWidget):
return
try:
scores = St3ScoreSource(dbFile).get_score_items()
db = Database()
parser = St3ScoreParser(dbFile)
logger.info(
f"Got {len(scores)} items from {dbFile}, writing into database..."
f"Got {len(parser.parse())} items from {dbFile}, writing into database..."
)
Database().import_external(scores)
with db.sessionmaker() as session:
parser.write_database(session)
session.commit()
QMessageBox.information(self, None, "OK")
except Exception as e:
logging.exception("import st3 error")

View File

@ -1,4 +1,4 @@
from arcaea_offline.models import ScoreInsert
from arcaea_offline.models import Score
from PySide6.QtCore import QModelIndex, Qt, Slot
from PySide6.QtGui import QColor, QPalette
from PySide6.QtWidgets import QMessageBox
@ -21,9 +21,6 @@ class TableScoreDelegate(ScoreDelegate):
def getChart(self, index):
return index.data(DbScoreTableModel.ChartRole)
def getScoreInsert(self, index: QModelIndex) -> ScoreInsert | None:
return super().getScoreInsert(index)
def getScore(self, index):
return index.data(DbScoreTableModel.ScoreRole)