]> kaliko git repositories - mpd-sima.git/blob - sima/plugins/internal/lastfm.py
66ced0442591bff8e9a663de66c53ea29541217c
[mpd-sima.git] / sima / plugins / internal / lastfm.py
1 # -*- coding: utf-8 -*-
2 # Copyright (c) 2013, 2014 Jack Kaliko <kaliko@azylum.org>
3 #
4 #  This file is part of sima
5 #
6 #  sima is free software: you can redistribute it and/or modify
7 #  it under the terms of the GNU General Public License as published by
8 #  the Free Software Foundation, either version 3 of the License, or
9 #  (at your option) any later version.
10 #
11 #  sima is distributed in the hope that it will be useful,
12 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
13 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 #  GNU General Public License for more details.
15 #
16 #  You should have received a copy of the GNU General Public License
17 #  along with sima.  If not, see <http://www.gnu.org/licenses/>.
18 #
19 #
20 """
21 Fetching similar artists from last.fm web services
22 """
23
24 # standard library import
25 from os.path import join
26
27 # third parties components
28
29 # local import
30 from ...lib.simafm import SimaFM
31 from ...lib.webserv import WebService
32 from ...lib.cache import FileCache, DictCache
33
34
35 class Lastfm(WebService):
36     """last.fm similar artists
37     """
38
39     def __init__(self, daemon):
40         WebService.__init__(self, daemon)
41         # Set persitent cache
42         vardir = daemon.config['sima']['var_dir']
43         persitent_cache = daemon.config.getboolean('lastfm', 'cache')
44         if persitent_cache:
45             self.log.debug('Persistant cache enabled in {}'.format(join(vardir, 'http', 'LastFM')))
46             SimaFM.cache = FileCache(join(vardir, 'http', 'LastFM'))
47         self.ws = SimaFM()
48
49
50 # VIM MODLINE
51 # vim: ai ts=4 sw=4 sts=4 expandtab