Open playlists working; playlist queries refactored

This commit is contained in:
Keith Edmunds 2022-08-13 14:50:23 +01:00
parent c7034cf35a
commit cb5eedd8c8
2 changed files with 33 additions and 26 deletions

View File

@ -324,19 +324,27 @@ class Playlists(Base):
"""Returns a list of all playlists ordered by last use""" """Returns a list of all playlists ordered by last use"""
return ( return (
session.query(cls).order_by( session.execute(
cls.loaded.desc(), cls.last_used.desc()) select(cls)
).all() .order_by(cls.loaded.desc(), cls.last_used.desc())
# )
# @classmethod .scalars()
# def get_closed(cls, session: Session) -> List["Playlists"]: .all()
# """Returns a list of all closed playlists ordered by last use""" )
#
# return ( @classmethod
# session.query(cls) def get_closed(cls, session: Session) -> List["Playlists"]:
# .filter(cls.loaded.is_(False)) """Returns a list of all closed playlists ordered by last use"""
# .order_by(cls.last_used.desc())
# ).all() return (
session.execute(
select(cls)
.filter(cls.loaded.is_(False))
.order_by(cls.last_used.desc())
)
.scalars()
.all()
)
@classmethod @classmethod
def get_open(cls, session: Session) -> List[Optional["Playlists"]]: def get_open(cls, session: Session) -> List[Optional["Playlists"]]:

View File

@ -175,13 +175,12 @@ class Window(QMainWindow, Ui_MainWindow):
self.actionEnable_controls.triggered.connect( self.actionEnable_controls.triggered.connect(
self.enable_play_next_controls) self.enable_play_next_controls)
self.actionExport_playlist.triggered.connect(self.export_playlist_tab) self.actionExport_playlist.triggered.connect(self.export_playlist_tab)
# ***kae
# self.actionImport.triggered.connect(self.import_track) # self.actionImport.triggered.connect(self.import_track)
self.actionFade.triggered.connect(self.fade) self.actionFade.triggered.connect(self.fade)
# self.actionMoveSelected.triggered.connect(self.move_selected) # self.actionMoveSelected.triggered.connect(self.move_selected)
self.actionNewPlaylist.triggered.connect(self.create_playlist) self.actionNewPlaylist.triggered.connect(self.create_playlist)
self.actionOpenPlaylist.triggered.connect(self.open_playlist)
# ***kae # ***kae
# self.actionOpenPlaylist.triggered.connect(self.open_playlist)
self.actionPlay_next.triggered.connect(self.play_next) self.actionPlay_next.triggered.connect(self.play_next)
# self.actionSearch.triggered.connect(self.search_playlist) # self.actionSearch.triggered.connect(self.search_playlist)
# self.actionSearch_database.triggered.connect(self.search_database) # self.actionSearch_database.triggered.connect(self.search_database)
@ -652,17 +651,17 @@ class Window(QMainWindow, Ui_MainWindow):
# """Update search when search string changes""" # """Update search when search string changes"""
# #
# self.visible_playlist_tab().set_filter(self.txtSearch.text()) # self.visible_playlist_tab().set_filter(self.txtSearch.text())
#
# def open_playlist(self): def open_playlist(self):
# with Session() as session: with Session() as session:
# playlists = Playlists.get_closed(session) playlists = Playlists.get_closed(session)
# dlg = SelectPlaylistDialog(self, playlists=playlists, dlg = SelectPlaylistDialog(self, playlists=playlists,
# session=session) session=session)
# dlg.exec() dlg.exec()
# playlist = dlg.playlist playlist = dlg.playlist
# if playlist: if playlist:
# playlist.mark_open(session) playlist.mark_open(session)
# self.create_playlist_tab(session, playlist) self.create_playlist_tab(session, playlist)
# #
# def select_next_row(self) -> None: # def select_next_row(self) -> None:
# """Select next or first row in playlist""" # """Select next or first row in playlist"""