From c40cac76cedf12182ff95a6f801448488efd3691 Mon Sep 17 00:00:00 2001 From: Thomas Adamcik Date: Sat, 13 Feb 2010 23:00:00 +0100 Subject: [PATCH] Add get_by_id/url from master --- mopidy/backends/__init__.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/mopidy/backends/__init__.py b/mopidy/backends/__init__.py index 2576f80f..07c9c42a 100644 --- a/mopidy/backends/__init__.py +++ b/mopidy/backends/__init__.py @@ -36,6 +36,20 @@ class BaseCurrentPlaylistController(object): self.backend.playback.stop() self.playlist = Playlist() + def get_by_id(self, id): + matches = filter(lambda t: t.id == id, self.playlist.tracks) + if matches: + return matches[0] + else: + raise KeyError('Track with ID "%s" not found' % id) + + def get_by_url(self, uri): + matches = filter(lambda t: t.uri == uri, self.playlist.tracks) + if matches: + return matches[0] + else: + raise KeyError('Track with URI "%s" not found' % uri) + def load(self, playlist): self.playlist = playlist