From a222a497993a91fccf39e9479bb56b7dad58f9c7 Mon Sep 17 00:00:00 2001 From: Thomas Adamcik Date: Fri, 30 Apr 2010 20:42:35 +0200 Subject: [PATCH] Fix gstreamer library with respect to lookup --- mopidy/backends/gstreamer.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/mopidy/backends/gstreamer.py b/mopidy/backends/gstreamer.py index 8cfd120a..72c90716 100644 --- a/mopidy/backends/gstreamer.py +++ b/mopidy/backends/gstreamer.py @@ -16,7 +16,7 @@ import threading from mopidy.backends import * from mopidy.models import Playlist, Track from mopidy import settings -from mopidy.utils import parse_m3u +from mopidy.utils import parse_m3u, parse_mpd_tag_cache logger = logging.getLogger(u'backends.gstreamer') @@ -182,5 +182,19 @@ class GStreamerStoredPlaylistsController(BaseStoredPlaylistsController): class GStreamerLibraryController(BaseLibraryController): + def __init__(self, backend): + super(GStreamerLibraryController, self).__init__(backend) + self._uri_mapping = {} + def refresh(self, uri=None): - pass + tracks, artists, albums = parse_mpd_tag_cache(settings.TAG_CACHE, + settings.MUSIC_FOLDER) + + for track in tracks: + self._uri_mapping[track.uri] = track + + def lookup(self, uri): + try: + return self._uri_mapping[uri] + except KeyError: + raise LookupError