mirror of
https://github.com/283375/arcaea-offline-pyside-ui.git
synced 2025-04-20 17:50:17 +00:00
wip: st3 import
This commit is contained in:
parent
38a08a4b17
commit
b30a092f70
@ -31,6 +31,20 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QPushButton" name="importSt3Button">
|
||||||
|
<property name="text">
|
||||||
|
<string>importSt3Button</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QLabel" name="label_2">
|
||||||
|
<property name="text">
|
||||||
|
<string>importSt3.description</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<resources/>
|
<resources/>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
################################################################################
|
################################################################################
|
||||||
## Form generated from reading UI file 'tabDb_Manage.ui'
|
## Form generated from reading UI file 'tabDb_Manage.ui'
|
||||||
##
|
##
|
||||||
## Created by: Qt User Interface Compiler version 6.5.0
|
## Created by: Qt User Interface Compiler version 6.5.1
|
||||||
##
|
##
|
||||||
## WARNING! All changes made in this file will be lost when recompiling UI file!
|
## WARNING! All changes made in this file will be lost when recompiling UI file!
|
||||||
################################################################################
|
################################################################################
|
||||||
@ -37,6 +37,16 @@ class Ui_TabDb_Manage(object):
|
|||||||
|
|
||||||
self.formLayout.setWidget(0, QFormLayout.FieldRole, self.label)
|
self.formLayout.setWidget(0, QFormLayout.FieldRole, self.label)
|
||||||
|
|
||||||
|
self.importSt3Button = QPushButton(TabDb_Manage)
|
||||||
|
self.importSt3Button.setObjectName(u"importSt3Button")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(1, QFormLayout.LabelRole, self.importSt3Button)
|
||||||
|
|
||||||
|
self.label_2 = QLabel(TabDb_Manage)
|
||||||
|
self.label_2.setObjectName(u"label_2")
|
||||||
|
|
||||||
|
self.formLayout.setWidget(1, QFormLayout.FieldRole, self.label_2)
|
||||||
|
|
||||||
|
|
||||||
self.retranslateUi(TabDb_Manage)
|
self.retranslateUi(TabDb_Manage)
|
||||||
|
|
||||||
@ -46,6 +56,8 @@ class Ui_TabDb_Manage(object):
|
|||||||
def retranslateUi(self, TabDb_Manage):
|
def retranslateUi(self, TabDb_Manage):
|
||||||
self.syncArcSongDbButton.setText(QCoreApplication.translate("TabDb_Manage", u"syncArcSongDbButton", None))
|
self.syncArcSongDbButton.setText(QCoreApplication.translate("TabDb_Manage", u"syncArcSongDbButton", None))
|
||||||
self.label.setText(QCoreApplication.translate("TabDb_Manage", u"syncArcSongDb.description", None))
|
self.label.setText(QCoreApplication.translate("TabDb_Manage", u"syncArcSongDb.description", None))
|
||||||
|
self.importSt3Button.setText(QCoreApplication.translate("TabDb_Manage", u"importSt3Button", None))
|
||||||
|
self.label_2.setText(QCoreApplication.translate("TabDb_Manage", u"importSt3.description", None))
|
||||||
pass
|
pass
|
||||||
# retranslateUi
|
# retranslateUi
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@ import logging
|
|||||||
import traceback
|
import traceback
|
||||||
|
|
||||||
from arcaea_offline.database import Database
|
from arcaea_offline.database import Database
|
||||||
|
from arcaea_offline.external import St3ScoreSource
|
||||||
from PySide6.QtCore import Slot
|
from PySide6.QtCore import Slot
|
||||||
from PySide6.QtWidgets import QFileDialog, QMessageBox, QWidget
|
from PySide6.QtWidgets import QFileDialog, QMessageBox, QWidget
|
||||||
|
|
||||||
@ -20,6 +21,10 @@ class TabDb_Manage(Ui_TabDb_Manage, QWidget):
|
|||||||
dbFile, filter = QFileDialog.getOpenFileName(
|
dbFile, filter = QFileDialog.getOpenFileName(
|
||||||
self, None, "", "DB File (*.db);;*"
|
self, None, "", "DB File (*.db);;*"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if not dbFile:
|
||||||
|
return
|
||||||
|
|
||||||
try:
|
try:
|
||||||
Database().update_arcsong_db(dbFile)
|
Database().update_arcsong_db(dbFile)
|
||||||
QMessageBox.information(self, "OK", "OK")
|
QMessageBox.information(self, "OK", "OK")
|
||||||
@ -28,3 +33,23 @@ class TabDb_Manage(Ui_TabDb_Manage, QWidget):
|
|||||||
QMessageBox.critical(
|
QMessageBox.critical(
|
||||||
self, "Sync Error", "\n".join(traceback.format_exception(e))
|
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))
|
||||||
|
)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user