aboutsummaryrefslogtreecommitdiffstats
path: root/solo-tool-project/src
diff options
context:
space:
mode:
Diffstat (limited to 'solo-tool-project/src')
-rw-r--r--solo-tool-project/src/solo_tool/session_manager.py67
-rw-r--r--solo-tool-project/src/solo_tool/solo_tool.py9
2 files changed, 32 insertions, 44 deletions
diff --git a/solo-tool-project/src/solo_tool/session_manager.py b/solo-tool-project/src/solo_tool/session_manager.py
index 718e864..0896b22 100644
--- a/solo-tool-project/src/solo_tool/session_manager.py
+++ b/solo-tool-project/src/solo_tool/session_manager.py
@@ -1,41 +1,30 @@
import json
-class SessionManager:
- def __init__(self, playlist, abController):
- self._playlist = playlist
- self._abController = abController
-
- def addSong(self, path):
- self._playlist.addSong(path)
-
- def storeLimits(self, aLimit, bLimit):
- self._abController.storeLimits(aLimit, bLimit)
-
- def loadSession(self, file):
- jsonStr = file.read()
- session = json.loads(jsonStr)
-
- self._playlist.clear()
- self._abController.clear()
-
- for entry in session:
- songPath = entry["path"]
- abLimits = entry["ab_limits"]
- self._playlist.addSong(songPath)
-
- if abLimits is not None:
- for l in abLimits:
- self._abController.storeLimits(l[0], l[1], songPath)
-
- def saveSession(self, file):
- songs = self._playlist.getSongs()
- session = list()
-
- for s in songs:
- entry = {
- "path": s,
- "ab_limits" : self._abController.getStoredLimits(s)
- }
- session.append(entry)
-
- file.write(json.dumps(session))
+def loadSession(file, playlist, abController):
+ jsonStr = file.read()
+ session = json.loads(jsonStr)
+
+ playlist.clear()
+ abController.clear()
+
+ for entry in session:
+ songPath = entry["path"]
+ abLimits = entry["ab_limits"]
+ playlist.addSong(songPath)
+
+ if abLimits is not None:
+ for l in abLimits:
+ abController.storeLimits(l[0], l[1], songPath)
+
+def saveSession(file, playlist, abController):
+ songs = playlist.getSongs()
+ session = list()
+
+ for s in songs:
+ entry = {
+ "path": s,
+ "ab_limits" : abController.getStoredLimits(s)
+ }
+ session.append(entry)
+
+ file.write(json.dumps(session))
diff --git a/solo-tool-project/src/solo_tool/solo_tool.py b/solo-tool-project/src/solo_tool/solo_tool.py
index 47e31ca..743c8d5 100644
--- a/solo-tool-project/src/solo_tool/solo_tool.py
+++ b/solo-tool-project/src/solo_tool/solo_tool.py
@@ -2,7 +2,7 @@ import os
from .playlist import Playlist
from .abcontroller import ABController
-from .session_manager import SessionManager
+from .session_manager import loadSession, saveSession
from .notifier import Notifier
from .player_vlc import Player
@@ -11,7 +11,6 @@ class SoloTool:
self._player = Player() if playerOverride is None else playerOverride
self._playlist = Playlist(self._playlistCallback)
self._abController = ABController(enabled=False, callback=self._abControllerCallback)
- self._sessionManager = SessionManager(self._playlist, self._abController)
self._notifier = Notifier(self._player)
def _playlistCallback(self, path):
@@ -31,7 +30,7 @@ class SoloTool:
def addSong(self, path: str) -> None:
if os.path.isfile(path):
- self._sessionManager.addSong(path)
+ self._playlist.addSong(path)
@property
def song(self) -> int:
@@ -96,11 +95,11 @@ class SoloTool:
def loadSession(self, path):
with open(path, "r") as f:
- self._sessionManager.loadSession(f)
+ loadSession(f, self._playlist, self._abController)
def saveSession(self, path):
with open(path, "w") as f:
- self._sessionManager.saveSession(f)
+ saveSession(f, self._playlist, self._abController)
def play(self):
self._player.play()