Don't accept unreadable track into _TrackManager

This commit is contained in:
Keith Edmunds 2024-06-03 19:06:00 +01:00
parent 2f32f2e914
commit e884201df4
3 changed files with 14 additions and 6 deletions

View File

@ -1075,11 +1075,15 @@ class Window(QMainWindow, Ui_MainWindow):
self.btnPreview.setChecked(False)
return
with db.Session() as session:
self.preview_track_manager = PreviewTrackManager(
session=session, track_id=track_id, row_number=row_number
)
self.preview_track_manager.play()
try:
with db.Session() as session:
self.preview_track_manager = PreviewTrackManager(
session=session, track_id=track_id, row_number=row_number
)
self.preview_track_manager.play()
except ValueError as e:
log.error(f"Error creating PreviewTrackManager({str(e)})")
return
else:
if self.preview_track_manager:

View File

@ -1270,7 +1270,7 @@ class PlaylistModel(QAbstractTableModel):
track_sequence.next = MainTrackManager(session, prd.plrid)
self.invalidate_row(row_number)
except ValueError as e:
log.error(f"Error creating PlaylistTrack({prd=}): ({str(e)})")
log.error(f"Error creating MainTrackManager({prd=}): ({str(e)})")
return
self.signals.search_wikipedia_signal.emit(

View File

@ -381,6 +381,10 @@ class _TrackManager:
self.row_number = row_number
self.preview_player = preview_player
# Check file readable
if file_is_unreadable(track.path):
raise ValueError(f"_TrackManager.__init__: {track.path=} unreadable")
self.artist = track.artist
self.bitrate = track.bitrate
self.duration = track.duration