Move querylistmodel from SQL to filter

This commit is contained in:
Keith Edmunds 2025-02-21 15:26:56 +00:00
parent 8b8edba64d
commit 994d510ed9

View File

@ -27,6 +27,7 @@ from sqlalchemy.orm.session import Session
# App imports
from classes import (
ApplicationError,
Filter,
QueryCol,
)
from config import Config
@ -37,7 +38,7 @@ from helpers import (
show_warning,
)
from log import log
from models import db, Playdates, run_sql
from models import db, Playdates
from music_manager import RowAndTrack
@ -62,16 +63,16 @@ class QuerylistModel(QAbstractTableModel):
"""
def __init__(self, session: Session, sql: str) -> None:
def __init__(self, session: Session, filter: Filter) -> None:
"""
Load query
"""
log.debug(f"QuerylistModel.__init__({sql=})")
log.debug(f"QuerylistModel.__init__({filter=})")
super().__init__()
self.session = session
self.sql = sql
self.filter = filter
self.querylist_rows: dict[int, QueryRow] = {}
self._selected_rows: set[int] = set()
@ -79,7 +80,7 @@ class QuerylistModel(QAbstractTableModel):
self.load_data()
def __repr__(self) -> str:
return f"<QuerylistModel: sql={self.sql}, {self.rowCount()} rows>"
return f"<QuerylistModel: filter={self.filter}, {self.rowCount()} rows>"
def background_role(self, row: int, column: int, qrow: QueryRow) -> QVariant:
"""Return background setting"""
@ -227,7 +228,7 @@ class QuerylistModel(QAbstractTableModel):
row = 0
try:
results = run_sql(self.session, self.sql)
results = Tracks.get_filtered(self.session, self.filter)
for result in results:
if hasattr(result, "lastplayed"):
lastplayed = result["lastplayed"]