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)

View File

@ -1,7 +1,6 @@
import logging
import cv2
import pytesseract
# from arcaea_offline_ocr_device_creation_wizard.implements.wizard import Wizard
from arcaea_offline_ocr.device.v1.definition import DeviceV1

View File

@ -1,4 +1,5 @@
from arcaea_offline.database import Database
from PySide6.QtGui import QShowEvent
from PySide6.QtWidgets import QWidget
from ui.designer.tabs.tabOverview_ui import Ui_TabOverview
@ -10,8 +11,12 @@ class TabOverview(Ui_TabOverview, QWidget):
self.setupUi(self)
self.db = Database()
self.db.register_update_hook(self.updateOverview)
# self.db.register_update_hook(self.updateOverview)
# self.updateOverview()
def showEvent(self, event: QShowEvent) -> None:
self.updateOverview()
return super().showEvent(event)
def updateOverview(self):
b30 = self.db.get_b30() or 0.00