]> kaliko git repositories - mpd-sima.git/blobdiff - sima/lib/simafm.py
Add copyright headers & clean-up
[mpd-sima.git] / sima / lib / simafm.py
index 95a4fee42439381d0398b65c1870f5565e6361f4..18625a6761bbc80c4aee7e060e90918193d0696a 100644 (file)
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 
-# Copyright (c) 2014 Jack Kaliko <kaliko@azylum.org>
+# Copyright (c) 2009, 2010, 2011, 2012, 2013, 2014 Jack Kaliko <kaliko@azylum.org>
 #
 #   This program is free software: you can redistribute it and/or modify
 #   it under the terms of the GNU General Public License as published by
@@ -21,7 +21,7 @@
 Consume EchoNest web service
 """
 
-__version__ = '0.0.1'
+__version__ = '0.5.0'
 __author__ = 'Jack Kaliko'
 
 
@@ -31,27 +31,14 @@ from requests import get, Request, Timeout, ConnectionError
 
 from sima import LFM
 from sima.lib.meta import Artist
+from sima.utils.utils import WSError, WSNotFound, WSTimeout, WSHTTPError
 from sima.utils.utils import getws, Throttle, Cache, purge_cache
 if len(LFM.get('apikey')) == 43:  # simple hack allowing imp.reload
     getws(LFM)
 
 # Some definitions
 WAIT_BETWEEN_REQUESTS = timedelta(0, 1)
-SOCKET_TIMEOUT = 4
-
-
-class WSError(Exception):
-    pass
-
-class WSNotFound(WSError):
-    pass
-
-class WSTimeout(WSError):
-    pass
-
-class WSHTTPError(WSError):
-    pass
-
+SOCKET_TIMEOUT = 6
 
 
 class SimaFM():
@@ -60,7 +47,8 @@ class SimaFM():
     root_url = 'http://{host}/{version}/'.format(**LFM)
     cache = {}
     timestamp = datetime.utcnow()
-    #ratelimit = None
+    name = 'Last.fm'
+    ratelimit = None
 
     def __init__(self, cache=True):
         self.artist = None
@@ -74,7 +62,6 @@ class SimaFM():
         url = Request('GET', self._url, params=payload,).prepare().url
         if url in SimaFM.cache:
             self.current_element = SimaFM.cache.get(url).elem
-            print('is cached')
             return
         try:
             self._fetch_ech(payload)
@@ -138,9 +125,7 @@ class SimaFM():
         # Construct URL
         self._fetch(payload)
         for art in self.current_element.get('similarartists').get('artist'):
-            match = 100 * float(art.get('match'))
-            yield Artist(mbid=art.get('mbid', None),
-                         name=art.get('name')), match
+            yield Artist(name=art.get('name'), mbid=art.get('mbid', None))
 
 
 # VIM MODLINE