refactor(models)!: Score & ChartInfo column changed

This commit is contained in:
2023-08-31 22:12:02 +08:00
parent 01bfd0f350
commit 167f72f9bb
6 changed files with 35 additions and 21 deletions

View File

@ -12,8 +12,6 @@ logger = logging.getLogger(__name__)
class St3ScoreParser(ArcaeaParser):
CLEAR_TYPES_MAP = {0: -1, 1: 1, 2: 1, 3: 1, 4: 1, 5: 1}
def __init__(self, filepath):
super().__init__(filepath)
@ -22,14 +20,22 @@ class St3ScoreParser(ArcaeaParser):
with sqlite3.connect(self.filepath) as st3_conn:
cursor = st3_conn.cursor()
db_scores = cursor.execute(
"SELECT songId, songDifficulty, score, perfectCount, nearCount, missCount, date FROM scores"
"SELECT songId, songDifficulty, score, perfectCount, nearCount, missCount, date, modifier FROM scores"
).fetchall()
for song_id, rating_class, score, pure, far, lost, date in db_scores:
db_clear_type = cursor.execute(
for (
song_id,
rating_class,
score,
pure,
far,
lost,
date,
modifier,
) in db_scores:
clear_type = cursor.execute(
"SELECT clearType FROM cleartypes WHERE songId = ? AND songDifficulty = ?",
(song_id, rating_class),
).fetchone()[0]
r10_clear_type = self.CLEAR_TYPES_MAP[db_clear_type]
date_str = str(date)
date = None if len(date_str) < 7 else int(date_str.ljust(10, "0"))
@ -43,7 +49,9 @@ class St3ScoreParser(ArcaeaParser):
far=far,
lost=lost,
date=date,
r10_clear_type=r10_clear_type,
modifier=modifier,
clear_type=clear_type,
comment="Imported from st3",
)
)