X-Git-Url: https://git.kaliko.me/?a=blobdiff_plain;f=sima%2Fplugins%2Finternal%2Flastfm.py;h=280519729bbafec13de7aff60f7ea5fc20514169;hb=cfe6dafed6e43714316c39c401475ed840e66a02;hp=b4f56c2337e318e71162f9ab64bc180b40c81784;hpb=00f3a52f35f709dd4c471cb6ad87dbd09cfd4aaf;p=mpd-sima.git diff --git a/sima/plugins/internal/lastfm.py b/sima/plugins/internal/lastfm.py index b4f56c2..2805197 100644 --- a/sima/plugins/internal/lastfm.py +++ b/sima/plugins/internal/lastfm.py @@ -1,15 +1,36 @@ # -*- coding: utf-8 -*- +# Copyright (c) 2013, 2014 Jack Kaliko +# +# 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 . +# +# """ 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 {}'.format(join(vardir, 'http', 'LastFM'))) + SimaFM.cache = FileCache(join(vardir, 'http', 'LastFM')) + self.ws = SimaFM() # VIM MODLINE