Fix some type hints

This commit is contained in:
Keith Edmunds 2022-03-03 18:30:13 +00:00
parent 1c56505ab0
commit f22f209bee

View File

@ -268,7 +268,7 @@ class PlaylistTab(QTableWidget):
set note row to be end of playlist.
"""
row: int = self.get_selected_row()
row: Optional[int] = self.get_selected_row()
if not row:
row = self.rowCount()
@ -277,7 +277,7 @@ class PlaylistTab(QTableWidget):
dlg.setInputMode(QInputDialog.TextInput)
dlg.setLabelText("Note:")
dlg.resize(500, 100)
ok: bool = dlg.exec()
ok: int = dlg.exec()
if ok:
with Session() as session:
note: Notes = Notes(
@ -407,6 +407,8 @@ class PlaylistTab(QTableWidget):
# Mark next-track row as current
current_row = self._get_next_track_row()
if not current_row:
return
self._set_current_track_row(current_row)
# Mark current row as played
@ -656,9 +658,9 @@ class PlaylistTab(QTableWidget):
next_row: Optional[int] = self._get_next_track_row()
notes: List[int] = self._get_notes_rows()
played: Optional[List[int]] = self._get_played_track_rows()
unreadable: Optional[List[int]] = self._get_unreadable_track_rows()
unreadable: List[int] = self._get_unreadable_track_rows()
last_played_str: Optional[str]
last_played_str: str
last_playedtime: Optional[datetime]
next_start_time: Optional[datetime] = None
note_colour: str
@ -811,8 +813,8 @@ class PlaylistTab(QTableWidget):
open_in_audacity(track.path)
@staticmethod
def _calculate_track_end_time(track: Tracks,
start: datetime) -> Optional[datetime]:
def _calculate_track_end_time(
track: Tracks, start: Optional[datetime]) -> Optional[datetime]:
"""Return this track's end time given its start time"""
if start is None:
@ -828,7 +830,7 @@ class PlaylistTab(QTableWidget):
self.menu.exec_(self.mapToGlobal(pos))
def _copy_path(self, row: int) -> Optional[str]:
def _copy_path(self, row: int) -> None:
"""
If passed row is track row, copy the track path to the clipboard.
Otherwise, return None.
@ -842,7 +844,7 @@ class PlaylistTab(QTableWidget):
with Session() as session:
track: Optional[Tracks] = self._get_row_track_object(row, session)
if track:
cb: QApplication.clipboard = QApplication.clipboard()
cb = QApplication.clipboard()
cb.clear(mode=cb.Clipboard)
cb.setText(track.path, mode=cb.Clipboard)
@ -1035,12 +1037,20 @@ class PlaylistTab(QTableWidget):
def _get_current_track_row(self) -> Optional[int]:
"""Return row marked as current, or None"""
return self._meta_search(RowMeta.CURRENT)
row = self._meta_search(RowMeta.CURRENT)
if len(row) > 0:
return row[0]
else:
return None
def _get_next_track_row(self) -> Optional[int]:
"""Return row marked as next, or None"""
return self._meta_search(RowMeta.NEXT)
row = self._meta_search(RowMeta.NEXT)
if len(row) > 0:
return row[0]
else:
return None
@staticmethod
def _get_note_text_time(text: str) -> Optional[datetime]:
@ -1122,7 +1132,7 @@ class PlaylistTab(QTableWidget):
return self._meta_notset(RowMeta.NOTE)
def _get_unreadable_track_rows(self) -> Optional[List[int]]:
def _get_unreadable_track_rows(self) -> List[int]:
"""Return rows marked as unreadable, or None"""
return self._meta_search(RowMeta.UNREADABLE, one=False)
@ -1228,7 +1238,7 @@ class PlaylistTab(QTableWidget):
if next_row is not None:
self._meta_clear_attribute(next_row, RowMeta.NEXT)
def _meta_get(self, row: int) -> Optional[int]:
def _meta_get(self, row: int) -> int:
"""Return row metadata"""
return self.item(row, self.COL_USERDATA).data(self.ROW_METADATA)
@ -1249,8 +1259,7 @@ class PlaylistTab(QTableWidget):
return matches
def _meta_search(self, metadata: int, one: bool = True) -> Union[
List[int], int, None]:
def _meta_search(self, metadata: int, one: bool = True) -> List[int]:
"""
Search rows for metadata.
@ -1269,10 +1278,8 @@ class PlaylistTab(QTableWidget):
if not one:
return matches
if len(matches) == 0:
return None
elif len(matches) == 1:
return matches[0]
if len(matches) <= 1:
return matches
else:
ERROR(
f"Multiple matches for metadata '{metadata}' found "
@ -1288,9 +1295,9 @@ class PlaylistTab(QTableWidget):
current_metadata: int = self._meta_get(row)
if not current_metadata:
new_metadata = (1 << attribute)
new_metadata: int = (1 << attribute)
else:
new_metadata: int = self._meta_get(row) | (1 << attribute)
new_metadata = self._meta_get(row) | (1 << attribute)
self.item(row, self.COL_USERDATA).setData(
self.ROW_METADATA, new_metadata)
@ -1399,8 +1406,8 @@ class PlaylistTab(QTableWidget):
- Check row is a track row
- Check track is readable
- Mark as next track
- Notify musicmuster
- Update display
- Notify musicmuster
"""
DEBUG(f"_set_next({row=})")
@ -1421,12 +1428,12 @@ class PlaylistTab(QTableWidget):
# Mark as next track
self._set_next_track_row(row)
# Notify musicmuster
self.musicmuster.this_is_the_next_track(self, track)
# Update display
self.update_display(session)
# Notify musicmuster
self.musicmuster.this_is_the_next_track(self, track)
def _set_row_bold(self, row: int, bold: bool = True) -> None:
"""Make row bold (bold=True) or not bold"""