impr: use Session instead of Engine in write_database of external parsers

This commit is contained in:
283375 2023-08-26 18:53:07 +08:00
parent a2193a7d1b
commit b334108f8c
Signed by: 283375
SSH Key Fingerprint: SHA256:UcX0qg6ZOSDOeieKPGokA5h7soykG61nz2uxuQgVLSk
2 changed files with 8 additions and 14 deletions

View File

@ -2,7 +2,6 @@ import json
from os import PathLike
from typing import Any, List, Optional, Union
from sqlalchemy import Engine
from sqlalchemy.orm import DeclarativeBase, Session
@ -47,9 +46,7 @@ class ArcaeaParser:
def parse(self) -> List[DeclarativeBase]:
...
def write_database(self, engine: Engine):
with Session(engine) as session:
results = self.parse()
for result in results:
session.merge(result)
session.commit()
def write_database(self, session: Session):
results = self.parse()
for result in results:
session.merge(result)

View File

@ -1,7 +1,6 @@
import sqlite3
from typing import List
from sqlalchemy import Engine
from sqlalchemy.orm import Session
from ...models.songs import ChartInfo
@ -29,9 +28,7 @@ class ArcsongDbParser:
return results
def write_database(self, engine: Engine):
with Session(engine) as session:
results = self.parse()
for result in results:
session.merge(result)
session.commit()
def write_database(self, session: Session):
results = self.parse()
for result in results:
session.merge(result)