mirror of
https://github.com/283375/arcaea-offline-pyside-ui.git
synced 2025-07-01 12:26:26 +00:00
wip: st3 import
This commit is contained in:
@ -2,6 +2,7 @@ import logging
|
||||
import traceback
|
||||
|
||||
from arcaea_offline.database import Database
|
||||
from arcaea_offline.external import St3ScoreSource
|
||||
from PySide6.QtCore import Slot
|
||||
from PySide6.QtWidgets import QFileDialog, QMessageBox, QWidget
|
||||
|
||||
@ -20,6 +21,10 @@ class TabDb_Manage(Ui_TabDb_Manage, QWidget):
|
||||
dbFile, filter = QFileDialog.getOpenFileName(
|
||||
self, None, "", "DB File (*.db);;*"
|
||||
)
|
||||
|
||||
if not dbFile:
|
||||
return
|
||||
|
||||
try:
|
||||
Database().update_arcsong_db(dbFile)
|
||||
QMessageBox.information(self, "OK", "OK")
|
||||
@ -28,3 +33,23 @@ class TabDb_Manage(Ui_TabDb_Manage, QWidget):
|
||||
QMessageBox.critical(
|
||||
self, "Sync Error", "\n".join(traceback.format_exception(e))
|
||||
)
|
||||
|
||||
@Slot()
|
||||
def on_importSt3Button_clicked(self):
|
||||
dbFile, filter = QFileDialog.getOpenFileName(self, "Select st3 file")
|
||||
|
||||
if not dbFile:
|
||||
return
|
||||
|
||||
try:
|
||||
scores = St3ScoreSource(dbFile).get_score_items()
|
||||
logger.info(
|
||||
f"Got {len(scores)} items from {dbFile}, writing into database..."
|
||||
)
|
||||
Database().import_external(scores)
|
||||
QMessageBox.information(self, "OK", "OK")
|
||||
except Exception as e:
|
||||
logging.exception("import st3 error")
|
||||
QMessageBox.critical(
|
||||
self, "Import Error", "\n".join(traceback.format_exception(e))
|
||||
)
|
||||
|
Reference in New Issue
Block a user