Performing merge
authorAndré L. V. Loureiro <loureiro.andrew@gmail.com>
Fri, 29 May 2009 23:11:19 +0000 (19:11 -0400)
committerAndré L. V. Loureiro <loureiro.andrew@gmail.com>
Fri, 29 May 2009 23:11:19 +0000 (19:11 -0400)
zukebox_server/setup.py
zukebox_server/src/services/playlist/seeker.py~HEAD~17 [new file with mode: 0644]

index 4cf9ed9..45de651 100644 (file)
@@ -32,7 +32,7 @@ def main():
         packages=['zukebox_server',
                   'zukebox_server/services',
                   'zukebox_server/services/playlist',
-                  'zukebox_server/plugins',
+                  'zukebox_sever/plugins',
                   'zukebox_server/plugins/audio_library',
                   'zukebox_server/system',
                   'zukebox_server/server',
diff --git a/zukebox_server/src/services/playlist/seeker.py~HEAD~17 b/zukebox_server/src/services/playlist/seeker.py~HEAD~17
new file mode 100644 (file)
index 0000000..56d3403
--- /dev/null
@@ -0,0 +1,32 @@
+
+class Seeker(object):
+    """This class implements a pointer for ZukeBox playlist
+    A seeker response to a request about the current position, next
+    or previous.
+    """
+    def __init__(self, playlist):
+        if playlist is not None:
+            self.playlist = playlist
+            # the first time the previous position is the current
+            self.current = playlist.current
+            self.previous = self.current
+            self.next = None
+
+    def get_next_pos(self):
+        next = self.current + 1
+        self.next = next
+
+    def get_previous_pos(self):
+        prev = self.previous
+        if prev != 0:
+            prev = prev - 1
+            self.previous = prev
+
+    def get_next(self):
+        self.get_next_pos()
+        return self.playlist.pop(self.next)
+
+    def get_prev(self):
+        self.get_previous_pos()
+        return self.playlist.pop(self.previous)
+