X-Git-Url: https://git.kaliko.me/?a=blobdiff_plain;f=sima%2Flib%2Fsimafm.py;h=5e6ad106e8e969f2c0f03d7e34a118a78d3f72ab;hb=bed2018b162e3493dd5a5a7fe5433af2005a7d0a;hp=3457016d5b67572e6572971b40f8b68eb9d82128;hpb=26407984575aaf451eddfe3395a23779ab2c6640;p=mpd-sima.git diff --git a/sima/lib/simafm.py b/sima/lib/simafm.py index 3457016..5e6ad10 100644 --- a/sima/lib/simafm.py +++ b/sima/lib/simafm.py @@ -17,7 +17,7 @@ # """ -Consume EchoNest web service +Consume Last.fm web service """ __version__ = '0.5.0' @@ -40,8 +40,8 @@ WAIT_BETWEEN_REQUESTS = timedelta(0, 1) SOCKET_TIMEOUT = 6 -class SimaFM(): - """ +class SimaFM: + """Last.fm http client """ root_url = 'http://{host}/{version}/'.format(**LFM) cache = {} @@ -77,7 +77,7 @@ class SimaFM(): timeout=SOCKET_TIMEOUT) #self.__class__.ratelimit = req.headers.get('x-ratelimit-remaining', None) if req.status_code is not 200: - raise WSHTTPError(req.status_code) + raise WSHTTPError('{0.status_code}: {0.reason}'.format(req)) self.current_element = req.json() self._controls_answer() if self.caching: @@ -96,7 +96,7 @@ class SimaFM(): return True def _forge_payload(self, artist, method='similar', track=None): - """ + """Build payload """ payloads = dict({'similar': {'method':'artist.getsimilar',}, 'top': {'method':'artist.gettoptracks',}, @@ -111,15 +111,15 @@ class SimaFM(): if artist.mbid: payload.update(mbid='{0}'.format(artist.mbid)) else: - payload.update(artist=artist.name, - autocorrect=1) + payload.update(artist=artist.name, + autocorrect=1) payload.update(results=100) if method == 'track': payload.update(track=track) return payload def get_similar(self, artist=None): - """ + """Fetch similar artists """ payload = self._forge_payload(artist) # Construct URL