Return True/False on set_next_row

This commit is contained in:
Keith Edmunds 2024-06-03 20:29:50 +01:00
parent 1ee9a1ae22
commit a46b9a3d6f

View File

@ -1227,9 +1227,11 @@ class PlaylistModel(QAbstractTableModel):
return True return True
def set_next_row(self, row_number: Optional[int]) -> None: def set_next_row(self, row_number: Optional[int]) -> bool:
""" """
Set row_number as next track. If row_number is None, clear next track. Set row_number as next track. If row_number is None, clear next track.
Return True if successful else False.
""" """
log.debug(f"set_next_row({row_number=})") log.debug(f"set_next_row({row_number=})")
@ -1239,7 +1241,7 @@ class PlaylistModel(QAbstractTableModel):
if track_sequence.next: if track_sequence.next:
track_sequence.next = None track_sequence.next = None
else: else:
return return True
else: else:
# Get plrid of row # Get plrid of row
try: try:
@ -1250,14 +1252,14 @@ class PlaylistModel(QAbstractTableModel):
f"{self.playlist_id=}" f"{self.playlist_id=}"
"IndexError" "IndexError"
) )
return return False
if prd.track_id is None or prd.plr_rownum is None: if prd.track_id is None or prd.plr_rownum is None:
log.error( log.error(
f"playlistmodel.set_next_track({row_number=}, " f"playlistmodel.set_next_track({row_number=}, "
"No track / row number " "No track / row number "
f"{self.playlist_id=}, {prd.track_id=}, {prd.plr_rownum=}" f"{self.playlist_id=}, {prd.track_id=}, {prd.plr_rownum=}"
) )
return return False
old_next_row: Optional[int] = None old_next_row: Optional[int] = None
if track_sequence.next: if track_sequence.next:
@ -1269,7 +1271,7 @@ class PlaylistModel(QAbstractTableModel):
self.invalidate_row(row_number) self.invalidate_row(row_number)
except ValueError as e: except ValueError as e:
log.error(f"Error creating MainTrackManager({prd=}): ({str(e)})") log.error(f"Error creating MainTrackManager({prd=}): ({str(e)})")
return return False
self.signals.search_wikipedia_signal.emit( self.signals.search_wikipedia_signal.emit(
self.playlist_rows[row_number].title self.playlist_rows[row_number].title
@ -1281,6 +1283,8 @@ class PlaylistModel(QAbstractTableModel):
self.signals.next_track_changed_signal.emit() self.signals.next_track_changed_signal.emit()
self.update_track_times() self.update_track_times()
return True
def setData( def setData(
self, self,
index: QModelIndex, index: QModelIndex,
@ -1686,7 +1690,7 @@ class PlaylistProxyModel(QSortFilterProxyModel):
def rescan_track(self, row_number: int) -> None: def rescan_track(self, row_number: int) -> None:
return self.source_model.rescan_track(row_number) return self.source_model.rescan_track(row_number)
def set_next_row(self, row_number: Optional[int]) -> None: def set_next_row(self, row_number: Optional[int]) -> bool:
return self.source_model.set_next_row(row_number) return self.source_model.set_next_row(row_number)
def sort_by_artist(self, row_numbers: List[int]) -> None: def sort_by_artist(self, row_numbers: List[int]) -> None: