diff options
| author | Eddy Pedroni <epedroni@pm.me> | 2025-07-17 13:45:11 +0200 | 
|---|---|---|
| committer | Eddy Pedroni <epedroni@pm.me> | 2025-07-17 13:45:11 +0200 | 
| commit | 89dcddce5e215400150232befddebc83f45d64d8 (patch) | |
| tree | 428007ef8f728b86f3284d32b9e1bcb8e920ca43 | |
| parent | 878ed5d699597dfa197636efe67f38000b67fe7e (diff) | |
Remove songpool dependency from SoloTool
| -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 | 
