diff options
author | Eddy Pedroni <epedroni@pm.me> | 2025-02-23 09:29:03 +0100 |
---|---|---|
committer | Eddy Pedroni <epedroni@pm.me> | 2025-02-23 09:29:03 +0100 |
commit | fd05e8a3a53afae850f539a348e209c4770ec430 (patch) | |
tree | 41260b23cfbe87d03ed929d1efd0bf520922f601 /solo-tool-project | |
parent | 5ee474d6e6ef79b45bc2ca2a950a8950ef099397 (diff) |
Session manager tests passing
Diffstat (limited to 'solo-tool-project')
-rw-r--r-- | solo-tool-project/src/solo_tool/session_manager.py | 35 | ||||
-rw-r--r-- | solo-tool-project/src/solo_tool/solo_tool.py | 1 | ||||
-rw-r--r-- | solo-tool-project/test/session_manager_unittest.py | 9 | ||||
-rw-r--r-- | solo-tool-project/test/test_session.json | 4 |
4 files changed, 24 insertions, 25 deletions
diff --git a/solo-tool-project/src/solo_tool/session_manager.py b/solo-tool-project/src/solo_tool/session_manager.py index a4dabc0..9744b57 100644 --- a/solo-tool-project/src/solo_tool/session_manager.py +++ b/solo-tool-project/src/solo_tool/session_manager.py @@ -1,29 +1,30 @@ import json +from . import SoloTool -def loadSession(file, songList, abController): - jsonStr = file.read() - session = json.loads(jsonStr) +def loadSession(file: str) -> SoloTool: + with open(file, "r") as f: + session = json.load(f) - songList.clear() - abController.clear() + st = SoloTool() - for entry in session: + for i, entry in enumerate(session): songPath = entry["path"] - abLimits = entry["ab_limits"] - songList.append(songPath) + keyPoints = entry["key_points"] - if abLimits is not None: - for l in abLimits: - abController.storeLimits(l[0], l[1], songPath) + st.addSong(songPath) + st._keyPoints[i] = keyPoints + + return st -def saveSession(file, songList, abController): - session = list() +def saveSession(soloTool: SoloTool, file: str) -> None: + session = [] - for s in songList: + for i, song in enumerate(soloTool.songs): entry = { - "path": s, - "ab_limits" : abController.getStoredLimits(s) + "path": song, + "key_points" : soloTool._keyPoints[i] } session.append(entry) - file.write(json.dumps(session)) + with open(file, "w") as f: + json.dump(session, f) diff --git a/solo-tool-project/src/solo_tool/solo_tool.py b/solo-tool-project/src/solo_tool/solo_tool.py index 97c3495..147a7b9 100644 --- a/solo-tool-project/src/solo_tool/solo_tool.py +++ b/solo-tool-project/src/solo_tool/solo_tool.py @@ -1,6 +1,5 @@ import os -from .session_manager import loadSession, saveSession from .notifier import Notifier from .player_vlc import Player diff --git a/solo-tool-project/test/session_manager_unittest.py b/solo-tool-project/test/session_manager_unittest.py index 0edc252..8658032 100644 --- a/solo-tool-project/test/session_manager_unittest.py +++ b/solo-tool-project/test/session_manager_unittest.py @@ -3,8 +3,6 @@ from json import loads import pathlib import shutil -pytestmark = pytest.mark.skip(reason="not yet implemented") - from solo_tool.session_manager import loadSession, saveSession from solo_tool.solo_tool import SoloTool @@ -25,16 +23,17 @@ def test_loadSession(prepared_tmp_path): assert soloTool.songs == ["test.flac", "test.mp3"] soloTool.song = 0 - assert soloTool.keyPositions == [] + assert soloTool.keyPoints == [] soloTool.song = 1 - assert soloTool.keyPositions == [0.1, 0.3] + assert soloTool.keyPoints == [0.1, 0.3] def test_saveSession(prepared_tmp_path): soloTool = SoloTool() soloTool.addSong("test.flac") soloTool.addSong("test.mp3") - soloTool.keyPositions = [0.1, 0.3] + soloTool.song = 1 + soloTool.keyPoints = [0.1, 0.3] testFile = prepared_tmp_path / "test_session_saved.json" saveSession(soloTool, testFile) diff --git a/solo-tool-project/test/test_session.json b/solo-tool-project/test/test_session.json index aed1e11..49c2d42 100644 --- a/solo-tool-project/test/test_session.json +++ b/solo-tool-project/test/test_session.json @@ -1,10 +1,10 @@ [ { "path" : "test.flac", - "key_positions" : null + "key_points" : [] }, { "path" : "test.mp3", - "key_positions" : [0.1, 0.3] + "key_points" : [0.1, 0.3] } ] |