WIP: playists refactor: fix rescan

This commit is contained in:
Keith Edmunds 2023-03-01 20:27:17 +00:00
parent 9d3743ceb5
commit 4a6ce3b4ee

View File

@ -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