fixup running scans and loading

This commit is contained in:
Georges-Antoine Assi
2024-12-21 12:06:37 -05:00
parent 1da4d5b36b
commit 2e4e557eef
20 changed files with 62 additions and 87 deletions

View File

@@ -16,13 +16,7 @@ class DBCollectionsHandler(DBBaseHandler):
collection = session.merge(collection)
session.flush()
new_collection = session.scalar(
select(Collection).filter_by(id=collection.id).limit(1)
)
if not new_collection:
raise ValueError("Could not find newly created collection")
return new_collection
return session.query(Collection).filter_by(id=collection.id).one()
@begin_session
def get_collection(self, id: int, session: Session = None) -> Collection | None:

View File

@@ -47,12 +47,13 @@ class DBFirmwareHandler(DBBaseHandler):
@begin_session
def update_firmware(self, id: int, data: dict, session: Session = None) -> Firmware:
return session.scalar(
session.execute(
update(Firmware)
.where(Firmware.id == id)
.values(**data)
.execution_options(synchronize_session="evaluate")
)
return session.query(Firmware).filter_by(id=id).one()
@begin_session
def delete_firmware(self, id: int, session: Session = None) -> None:

View File

@@ -19,13 +19,7 @@ class DBPlatformsHandler(DBBaseHandler):
platform = session.merge(platform)
session.flush()
new_platform = session.scalar(
select(Platform).filter_by(id=platform.id).limit(1)
)
if not new_platform:
raise ValueError("Could not find newly created platform")
return new_platform
return session.query(Platform).filter_by(id=platform.id).one()
@begin_session
def get_platform(self, id: int, *, session: Session = None) -> Platform | None:

View File

@@ -193,12 +193,13 @@ class DBRomsHandler(DBBaseHandler):
@begin_session
def update_rom(self, id: int, data: dict, session: Session = None) -> Rom:
return session.scalar(
session.execute(
update(Rom)
.where(Rom.id == id)
.values(**data)
.execution_options(synchronize_session="evaluate")
)
return session.query(Rom).filter_by(id=id).one()
@begin_session
def delete_rom(self, id: int, session: Session = None) -> None:
@@ -257,15 +258,9 @@ class DBRomsHandler(DBBaseHandler):
.execution_options(synchronize_session="evaluate")
)
rom_user = self.get_rom_user_by_id(id)
if not rom_user:
raise ValueError(f"RomUser with id {id} not found")
rom_user = session.query(RomUser).filter_by(id=id).one()
if data.get("is_main_sibling", False):
rom = self.get_rom(rom_user.rom_id)
if not rom:
raise ValueError(f"Rom with id {rom_user.rom_id} not found")
rom = session.query(Rom).filter_by(id=rom_user.rom_id).one()
session.execute(
update(RomUser)
.where(
@@ -277,11 +272,7 @@ class DBRomsHandler(DBBaseHandler):
.values(is_main_sibling=False)
)
rom_user = self.get_rom_user_by_id(id)
if not rom_user:
raise ValueError(f"RomUser with id {id} not found")
return rom_user
return session.query(RomUser).filter_by(id=id).one()
@begin_session
def add_rom_file(self, rom_file: RomFile, session: Session = None) -> RomFile:
@@ -312,8 +303,4 @@ class DBRomsHandler(DBBaseHandler):
.execution_options(synchronize_session="evaluate")
)
rom_file = self.get_rom_file_by_id(id)
if not rom_file:
raise ValueError(f"RomFile with id {id} not found")
return rom_file
return session.query(RomFile).filter_by(id=id).one()

View File

@@ -29,12 +29,13 @@ class DBSavesHandler(DBBaseHandler):
@begin_session
def update_save(self, id: int, data: dict, session: Session = None) -> Save:
return session.scalar(
session.execute(
update(Save)
.where(Save.id == id)
.values(**data)
.execution_options(synchronize_session="evaluate")
)
return session.query(Save).filter_by(id=id).one()
@begin_session
def delete_save(self, id: int, session: Session = None) -> None:

View File

@@ -33,12 +33,13 @@ class DBScreenshotsHandler(DBBaseHandler):
def update_screenshot(
self, id: int, data: dict, session: Session = None
) -> Screenshot:
return session.scalar(
session.execute(
update(Screenshot)
.where(Screenshot.id == id)
.values(**data)
.execution_options(synchronize_session="evaluate")
)
return session.query(Screenshot).filter_by(id=id).one()
@begin_session
def delete_screenshot(self, id: int, session: Session = None) -> None:

View File

@@ -29,12 +29,13 @@ class DBStatesHandler(DBBaseHandler):
@begin_session
def update_state(self, id: int, data: dict, session: Session = None) -> State:
return session.scalar(
session.execute(
update(State)
.where(State.id == id)
.values(**data)
.execution_options(synchronize_session="evaluate")
)
return session.query(State).filter_by(id=id).one()
@begin_session
def delete_state(self, id: int, session: Session = None) -> None:

View File

@@ -29,12 +29,13 @@ class DBUsersHandler(DBBaseHandler):
@begin_session
def update_user(self, id: int, data: dict, session: Session = None) -> User:
return session.scalar(
session.execute(
update(User)
.where(User.id == id)
.values(**data)
.execution_options(synchronize_session="evaluate")
)
return session.query(User).filter_by(id=id).one()
@begin_session
def get_users(self, session: Session = None) -> Sequence[User]: