Broken scrobbling BADAUTH response
This commit is contained in:
parent
155f98940d
commit
2882cdd457
40
pylast.py
40
pylast.py
|
@ -1186,7 +1186,6 @@ class Album(_BaseObject, _Taggable):
|
||||||
"""
|
"""
|
||||||
Returns a uri to the cover image
|
Returns a uri to the cover image
|
||||||
size can be one of:
|
size can be one of:
|
||||||
COVER_MEGA
|
|
||||||
COVER_EXTRA_LARGE
|
COVER_EXTRA_LARGE
|
||||||
COVER_LARGE
|
COVER_LARGE
|
||||||
COVER_MEDIUM
|
COVER_MEDIUM
|
||||||
|
@ -1328,7 +1327,7 @@ class Artist(_BaseObject, _Taggable):
|
||||||
|
|
||||||
return self.name
|
return self.name
|
||||||
|
|
||||||
def get_cover_image(self, size = COVER_LARGE):
|
def get_cover_image(self, size = COVER_MEGA):
|
||||||
"""
|
"""
|
||||||
Returns a uri to the cover image
|
Returns a uri to the cover image
|
||||||
size can be one of:
|
size can be one of:
|
||||||
|
@ -1356,7 +1355,11 @@ class Artist(_BaseObject, _Taggable):
|
||||||
def get_listener_count(self):
|
def get_listener_count(self):
|
||||||
"""Returns the number of liteners on the network."""
|
"""Returns the number of liteners on the network."""
|
||||||
|
|
||||||
return _number(_extract(self._request("artist.getInfo", True), "listeners"))
|
if hasattr(self, "listener_count"):
|
||||||
|
return self.listener_count
|
||||||
|
else:
|
||||||
|
self.listener_count = _number(_extract(self._request("artist.getInfo", True), "listeners"))
|
||||||
|
return self.listener_count
|
||||||
|
|
||||||
def is_streamable(self):
|
def is_streamable(self):
|
||||||
"""Returns True if the artist is streamable."""
|
"""Returns True if the artist is streamable."""
|
||||||
|
@ -1673,7 +1676,7 @@ class Event(_BaseObject):
|
||||||
|
|
||||||
return _extract(doc, "description")
|
return _extract(doc, "description")
|
||||||
|
|
||||||
def get_cover_image(self, size = COVER_LARGE):
|
def get_cover_image(self, size = COVER_MEGA):
|
||||||
"""
|
"""
|
||||||
Returns a uri to the cover image
|
Returns a uri to the cover image
|
||||||
size can be one of:
|
size can be one of:
|
||||||
|
@ -2063,7 +2066,7 @@ class Playlist(_BaseObject):
|
||||||
|
|
||||||
return track in self.get_tracks()
|
return track in self.get_tracks()
|
||||||
|
|
||||||
def get_cover_image(self, size = COVER_LARGE):
|
def get_cover_image(self, size = COVER_EXTRA_LARGE):
|
||||||
"""
|
"""
|
||||||
Returns a uri to the cover image
|
Returns a uri to the cover image
|
||||||
size can be one of:
|
size can be one of:
|
||||||
|
@ -2306,9 +2309,12 @@ class Track(_BaseObject, _Taggable):
|
||||||
def get_listener_count(self):
|
def get_listener_count(self):
|
||||||
"""Returns the listener count."""
|
"""Returns the listener count."""
|
||||||
|
|
||||||
|
if hasattr(self, "listener_count"):
|
||||||
|
return self.listener_count
|
||||||
|
else:
|
||||||
doc = self._request("track.getInfo", True)
|
doc = self._request("track.getInfo", True)
|
||||||
|
self.listener_count = _number(_extract(doc, "listeners"))
|
||||||
return _number(_extract(doc, "listeners"))
|
return self.listener_count
|
||||||
|
|
||||||
def get_playcount(self):
|
def get_playcount(self):
|
||||||
"""Returns the play count."""
|
"""Returns the play count."""
|
||||||
|
@ -3244,7 +3250,9 @@ class ArtistSearch(_Search):
|
||||||
|
|
||||||
seq = []
|
seq = []
|
||||||
for node in master_node.getElementsByTagName("artist"):
|
for node in master_node.getElementsByTagName("artist"):
|
||||||
seq.append(Artist(_extract(node, "name"), self.network))
|
artist = Artist(_extract(node, "name"), self.network)
|
||||||
|
artist.listener_count = _number(_extract(node, "listeners"))
|
||||||
|
seq.append(artist)
|
||||||
|
|
||||||
return seq
|
return seq
|
||||||
|
|
||||||
|
@ -3262,7 +3270,9 @@ class TagSearch(_Search):
|
||||||
|
|
||||||
seq = []
|
seq = []
|
||||||
for node in master_node.getElementsByTagName("tag"):
|
for node in master_node.getElementsByTagName("tag"):
|
||||||
seq.append(Tag(_extract(node, "name"), self.network))
|
tag = Tag(_extract(node, "name"), self.network)
|
||||||
|
tag.tag_count = _number(_extract(node, "count"))
|
||||||
|
seq.append(tag)
|
||||||
|
|
||||||
return seq
|
return seq
|
||||||
|
|
||||||
|
@ -3281,7 +3291,9 @@ class TrackSearch(_Search):
|
||||||
|
|
||||||
seq = []
|
seq = []
|
||||||
for node in master_node.getElementsByTagName("track"):
|
for node in master_node.getElementsByTagName("track"):
|
||||||
seq.append(Track(_extract(node, "artist"), _extract(node, "name"), self.network))
|
track = Track(_extract(node, "artist"), _extract(node, "name"), self.network)
|
||||||
|
track.listener_count = _number(_extract(node, "listeners"))
|
||||||
|
seq.append(track)
|
||||||
|
|
||||||
return seq
|
return seq
|
||||||
|
|
||||||
|
@ -3522,6 +3534,10 @@ class BadSessionError(ScrobblingError):
|
||||||
class _ScrobblerRequest(object):
|
class _ScrobblerRequest(object):
|
||||||
|
|
||||||
def __init__(self, url, params, network, type="POST"):
|
def __init__(self, url, params, network, type="POST"):
|
||||||
|
|
||||||
|
for key in params:
|
||||||
|
params[key] = str(params[key])
|
||||||
|
|
||||||
self.params = params
|
self.params = params
|
||||||
self.type = type
|
self.type = type
|
||||||
(self.hostname, self.subdir) = urllib.splithost(url[len("http:"):])
|
(self.hostname, self.subdir) = urllib.splithost(url[len("http:"):])
|
||||||
|
@ -3568,9 +3584,9 @@ class _ScrobblerRequest(object):
|
||||||
raise BannedClientError()
|
raise BannedClientError()
|
||||||
elif status_line == "BADAUTH":
|
elif status_line == "BADAUTH":
|
||||||
raise BadAuthenticationError()
|
raise BadAuthenticationError()
|
||||||
elif status_line == "BadTimeError":
|
elif status_line == "BADTIME":
|
||||||
raise BadTimeError()
|
raise BadTimeError()
|
||||||
elif status_line == "BadSessionError":
|
elif status_line == "BADSESSION":
|
||||||
raise BadSessionError()
|
raise BadSessionError()
|
||||||
elif status_line.startswith("FAILED "):
|
elif status_line.startswith("FAILED "):
|
||||||
reason = status_line[status_line.find("FAILED ")+len("FAILED "):]
|
reason = status_line[status_line.find("FAILED ")+len("FAILED "):]
|
||||||
|
|
Loading…
Reference in a new issue