diff --git a/app/querylistmodel.py b/app/querylistmodel.py index 31e14fa..ef043a8 100644 --- a/app/querylistmodel.py +++ b/app/querylistmodel.py @@ -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"" + return f"" 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"]