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