Support caching for cover art images
Signed-off-by: David Sn <divad.nnamtdeis@gmail.com>main
parent
70c5319acb
commit
d9cd25b555
|
@ -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):
|
||||
|
|
Loading…
Reference in New Issue