From f6f490efc5662333fc8727115d5568dba98a8488 Mon Sep 17 00:00:00 2001 From: Ronald Zielaznicki Date: Sun, 19 Jul 2015 20:23:48 -0400 Subject: [PATCH] Add a max playlist limit to the tracklist. --- mopidy/core/tracklist.py | 8 ++++++++ mopidy/exceptions.py | 8 ++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/mopidy/core/tracklist.py b/mopidy/core/tracklist.py index 028e7c02..0b3e55d2 100644 --- a/mopidy/core/tracklist.py +++ b/mopidy/core/tracklist.py @@ -3,6 +3,7 @@ from __future__ import absolute_import, unicode_literals import logging import random +from mopidy import exceptions from mopidy.core import listener from mopidy.internal import deprecation, validation from mopidy.models import TlTrack, Track @@ -433,6 +434,13 @@ class TracklistController(object): tl_tracks = [] for track in tracks: + if(self.get_length() >= + self.core._config['core']['max_tracklist_length']): + + raise exceptions.TracklistFull( + 'TracklistFull: Tried to add ' + + 'too many uris to the tracklist.') + break tl_track = TlTrack(self._next_tlid, track) self._next_tlid += 1 if at_position is not None: diff --git a/mopidy/exceptions.py b/mopidy/exceptions.py index 3fb2f1c2..3d25471f 100644 --- a/mopidy/exceptions.py +++ b/mopidy/exceptions.py @@ -19,10 +19,10 @@ class MopidyException(Exception): class BackendError(MopidyException): pass - + class CoreError(MopidyException): - + def __init(self, message, errno=None): super(CoreError, self).__init(message, errno) self.errno = errno @@ -50,9 +50,9 @@ class MixerError(MopidyException): class ScannerError(MopidyException): pass - + class TracklistFull(CoreError): - + def __init(self, message, errno=None): super(TracklistFull, self).__init(message, errno) self.errno = errno