diff options
-rw-r--r-- | solo-tool-project/src/solo_tool/session_manager.py | 2 | ||||
-rw-r--r-- | solo-tool-project/src/solo_tool/solo_tool.py | 13 | ||||
-rw-r--r-- | solo-tool-project/test/fixtures.py | 4 | ||||
-rw-r--r-- | solo-tool-project/test/solo_tool_songs_integrationtest.py | 7 |
4 files changed, 7 insertions, 19 deletions
diff --git a/solo-tool-project/src/solo_tool/session_manager.py b/solo-tool-project/src/solo_tool/session_manager.py index 4f831ba..bf6e218 100644 --- a/solo-tool-project/src/solo_tool/session_manager.py +++ b/solo-tool-project/src/solo_tool/session_manager.py @@ -25,7 +25,7 @@ class SessionManager(Protocol): @staticmethod def _dict2st(session: dict, songPool: str, player) -> SoloTool: - st = SoloTool(songPool, player=player) + st = SoloTool(player=player) for i, entry in enumerate(session): songPath = entry["path"] diff --git a/solo-tool-project/src/solo_tool/solo_tool.py b/solo-tool-project/src/solo_tool/solo_tool.py index 92b5595..63fb7f9 100644 --- a/solo-tool-project/src/solo_tool/solo_tool.py +++ b/solo-tool-project/src/solo_tool/solo_tool.py @@ -1,12 +1,10 @@ import os -from pathlib import Path from .notifier import Notifier from .player_mpv import Player class SoloTool: - def __init__(self, songPool: str, player=None): - self._songPool = Path(songPool) + def __init__(self, player=None): self._player = Player() if player is None else player self._notifier = Notifier(self._player) self._songs = [] @@ -21,7 +19,7 @@ class SoloTool: previousSong = self._song self._song = index self._player.pause() - self._player.setCurrentSong(self._songPool / self._songs[index]) + self._player.setCurrentSong(self._songs[index]) self._notifier.notify(Notifier.CURRENT_SONG_EVENT, index) previousKp = self._keyPoint @@ -40,13 +38,10 @@ class SoloTool: def songs(self) -> list[str]: return self._songs.copy() - def addSong(self, fileName: str) -> None: - path = self._songPool / fileName - if not os.path.isfile(path): - raise FileNotFoundError(path) + def addSong(self, path: str) -> None: if path in self._songs: return - self._songs.append(fileName) + self._songs.append(path) self._keyPoints.append([]) self._notifier.notify(Notifier.SONG_LIST_EVENT, self.songs) if self.song is None: diff --git a/solo-tool-project/test/fixtures.py b/solo-tool-project/test/fixtures.py index e63d363..3306388 100644 --- a/solo-tool-project/test/fixtures.py +++ b/solo-tool-project/test/fixtures.py @@ -22,8 +22,8 @@ def sessionPath(tmp_path): return path @pytest.fixture -def soloTool(mockPlayer, songPool): - return SoloTool(songPool, player=mockPlayer) +def soloTool(mockPlayer): + return SoloTool(player=mockPlayer) @pytest.fixture def testSongs(songPool): diff --git a/solo-tool-project/test/solo_tool_songs_integrationtest.py b/solo-tool-project/test/solo_tool_songs_integrationtest.py index 6030d19..0acfc2b 100644 --- a/solo-tool-project/test/solo_tool_songs_integrationtest.py +++ b/solo-tool-project/test/solo_tool_songs_integrationtest.py @@ -66,13 +66,6 @@ def test_songAdditionEdgeCases(uut, mockPlayer, testSongs): assert mockPlayer.currentSong == testSongs[0] assert uut.songs == testSongs - # Songs must exist in the filesystem - with pytest.raises(FileNotFoundError): - uut.addSong("/not/a/real/file") - assert uut.song == 0 - assert mockPlayer.currentSong == testSongs[0] - assert uut.songs == testSongs - def test_songSelectionNotification(uut, testSongs): selectionCalled = False selectionValue = None |