From 4a6ce3b4eece33cb25a3a8cf2c31136b56bcaff4 Mon Sep 17 00:00:00 2001 From: Keith Edmunds Date: Wed, 1 Mar 2023 20:27:17 +0000 Subject: [PATCH] WIP: playists refactor: fix rescan --- app/playlists.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/app/playlists.py b/app/playlists.py index d21c9ec..abe69ee 100644 --- a/app/playlists.py +++ b/app/playlists.py @@ -1759,17 +1759,23 @@ class PlaylistTab(QTableWidget): """Rescan track""" with Session() as session: + row_colour = None track = session.get(Tracks, track_id) - if not track: + if track: + if not file_is_readable(track.path): + row_colour = QColor(Config.COLOUR_UNREADABLE) + else: + set_track_metadata(session, track) + self._update_row(session, row, track) + else: log.error( f"playlists._rescan({track_id=}): " "Track not found" ) - return + row_colour = QColor(Config.COLOUR_UNREADABLE) - set_track_metadata(session, track) - # TODO: set readable/unreadable - self._update_row(session, row, track) + self._set_row_colour(row, row_colour) + self.clear_selection() def _run_subprocess(self, args): """Run args in subprocess""" @@ -2222,8 +2228,6 @@ class PlaylistTab(QTableWidget): _ = self._set_row_duration(row, track.duration) _ = self._set_row_bitrate(row, track.bitrate) - self.update_display(session) - def _update_section_headers(self, session: scoped_session) -> None: """ Update section headers with run time of section