]> kaliko git repositories - mpd-sima.git/blobdiff - sima/plugins/internal/lastfm.py
Get rid of inefficient log string formatting
[mpd-sima.git] / sima / plugins / internal / lastfm.py
index b4f56c2337e318e71162f9ab64bc180b40c81784..81a2b1cb7f2db8f315843a51803be248b6999ee8 100644 (file)
@@ -1,15 +1,36 @@
 # -*- coding: utf-8 -*-
+# Copyright (c) 2013, 2014, 2020 kaliko <kaliko@azylum.org>
+#
+#  This file is part of sima
+#
+#  sima is free software: you can redistribute it and/or modify
+#  it under the terms of the GNU General Public License as published by
+#  the Free Software Foundation, either version 3 of the License, or
+#  (at your option) any later version.
+#
+#  sima is distributed in the hope that it will be useful,
+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#  GNU General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License
+#  along with sima.  If not, see <http://www.gnu.org/licenses/>.
+#
+#
 """
 Fetching similar artists from last.fm web services
 """
 
 # standard library import
+from os.path import join
 
 # third parties components
 
 # local import
 from ...lib.simafm import SimaFM
-from ...lib.webservice import WebService
+from ...lib.webserv import WebService
+from ...lib.cache import FileCache
+from ...lib.http import CacheController
 
 
 class Lastfm(WebService):
@@ -18,7 +39,14 @@ class Lastfm(WebService):
 
     def __init__(self, daemon):
         WebService.__init__(self, daemon)
-        self.ws = SimaFM
+        # Set persitent cache
+        vardir = daemon.config['sima']['var_dir']
+        persitent_cache = daemon.config.getboolean('lastfm', 'cache')
+        if persitent_cache:
+            CacheController.CACHE_ANYWAY = True
+            self.log.debug('Persistant cache enabled in %s', join(vardir, 'http', 'LastFM'))
+            SimaFM.cache = FileCache(join(vardir, 'http', 'LastFM'))
+        self.ws = SimaFM()
 
 
 # VIM MODLINE