From b6bceacc0f42e32fc3dac4dbe7e17cadaab9542e Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Sun, 7 Feb 2010 21:23:32 +0100 Subject: [PATCH] Add Playlist.with() --- mopidy/models.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/mopidy/models.py b/mopidy/models.py index 39212c8e..c2e97218 100644 --- a/mopidy/models.py +++ b/mopidy/models.py @@ -217,3 +217,26 @@ class Playlist(object): for track, position in zip(self.tracks, range(start, end)): tracks.append(track.mpd_format(position)) return tracks + + def with(self, uri=None, name=None, tracks=None): + """ + Create a new playlist object with the given values. The values that are + not given are taken from the object the method is called on. + + Does not change the object on which it is called. + + :param uri: playlist URI + :type uri: string + :param name: playlist name + :type name: string + :param tracks: playlist's tracks + :type tracks: list of :class:`Track` elements + :rtype: :class:`Playlist` + """ + if uri is None: + uri = self.uri + if name is None: + name = self.name + if tracks is None: + tracks = self.tracks + return Playlist(uri=uri, name=name, tracks=tracks)