Support caching for cover art images

Signed-off-by: David Sn <divad.nnamtdeis@gmail.com>
main
David Sn 2020-09-25 05:40:56 +02:00
parent 70c5319acb
commit d9cd25b555
No known key found for this signature in database
GPG Key ID: 12608A286656086D
1 changed files with 9 additions and 2 deletions

View File

@ -259,11 +259,16 @@ class FunkwhaleLibraryProvider(backend.LibraryProvider):
logger.debug("Handling get images: %s", uris)
result = {}
# TODO Add cache
for uri in uris:
track_id = uri.split(":")[-1]
payload = self.backend.client.get_track(track_id)
cache_key = "funkwhale:images:%s" % track_id
from_cache = self.cache.get(cache_key)
if from_cache:
result[uri] = from_cache
continue
payload = self.backend.client.get_track(track_id)
if not payload["album"]["cover"]:
continue
@ -282,6 +287,8 @@ class FunkwhaleLibraryProvider(backend.LibraryProvider):
result[uri].append(image)
self.cache.set(cache_key, result[uri])
return result
def search(self, query=None, uris=None, exact=False):