|
|
@@ -1,13 +1,16 @@ |
|
|
|
# Copyright 2015 Adafruit Industries. |
|
|
|
# Author: Tony DiCola |
|
|
|
# License: GNU GPLv2, see LICENSE.txt |
|
|
|
import random |
|
|
|
|
|
|
|
class Playlist(object): |
|
|
|
"""Representation of a playlist of movies.""" |
|
|
|
|
|
|
|
def __init__(self, movies): |
|
|
|
def __init__(self, movies, is_random): |
|
|
|
"""Create a playlist from the provided list of movies.""" |
|
|
|
self._movies = movies |
|
|
|
self._index = None |
|
|
|
self._is_random = is_random |
|
|
|
|
|
|
|
def get_next(self): |
|
|
|
"""Get the next movie in the playlist. Will loop to start of playlist |
|
|
@@ -16,14 +19,19 @@ class Playlist(object): |
|
|
|
# Check if no movies are in the playlist and return nothing. |
|
|
|
if len(self._movies) == 0: |
|
|
|
return None |
|
|
|
# Start at the first movie and increment through them in order. |
|
|
|
if self._index is None: |
|
|
|
self._index = 0 |
|
|
|
# Start Random movie |
|
|
|
if self._is_random: |
|
|
|
self._index = random.randrange(0, len(self._movies)) |
|
|
|
else: |
|
|
|
self._index += 1 |
|
|
|
# Wrap around to the start after finishing. |
|
|
|
if self._index >= len(self._movies): |
|
|
|
self._index = 0 |
|
|
|
# Start at the first movie and increment through them in order. |
|
|
|
if self._index is None: |
|
|
|
self._index = 0 |
|
|
|
else: |
|
|
|
self._index += 1 |
|
|
|
# Wrap around to the start after finishing. |
|
|
|
if self._index >= len(self._movies): |
|
|
|
self._index = 0 |
|
|
|
|
|
|
|
return self._movies[self._index] |
|
|
|
|
|
|
|
def length(self): |
|
|
|