Merge pull request #223 from pylast/rm-redundant-code
Remove redundant code
This commit is contained in:
commit
20d46a43b3
|
@ -139,8 +139,7 @@ class _Network(object):
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self, name, homepage, ws_server, api_key, api_secret, session_key,
|
self, name, homepage, ws_server, api_key, api_secret, session_key,
|
||||||
submission_server, username, password_hash, domain_names, urls,
|
username, password_hash, domain_names, urls, token=None):
|
||||||
token=None):
|
|
||||||
"""
|
"""
|
||||||
name: the name of the network
|
name: the name of the network
|
||||||
homepage: the homepage URL
|
homepage: the homepage URL
|
||||||
|
@ -148,8 +147,6 @@ class _Network(object):
|
||||||
api_key: a provided API_KEY
|
api_key: a provided API_KEY
|
||||||
api_secret: a provided API_SECRET
|
api_secret: a provided API_SECRET
|
||||||
session_key: a generated session_key or None
|
session_key: a generated session_key or None
|
||||||
submission_server: the URL of the server to which tracks are
|
|
||||||
submitted (scrobbled)
|
|
||||||
username: a username of a valid user
|
username: a username of a valid user
|
||||||
password_hash: the output of pylast.md5(password) where password is
|
password_hash: the output of pylast.md5(password) where password is
|
||||||
the user's password
|
the user's password
|
||||||
|
@ -175,7 +172,6 @@ class _Network(object):
|
||||||
self.api_key = api_key
|
self.api_key = api_key
|
||||||
self.api_secret = api_secret
|
self.api_secret = api_secret
|
||||||
self.session_key = session_key
|
self.session_key = session_key
|
||||||
self.submission_server = submission_server
|
|
||||||
self.username = username
|
self.username = username
|
||||||
self.password_hash = password_hash
|
self.password_hash = password_hash
|
||||||
self.domain_names = domain_names
|
self.domain_names = domain_names
|
||||||
|
@ -797,7 +793,6 @@ class LastFMNetwork(_Network):
|
||||||
api_key=api_key,
|
api_key=api_key,
|
||||||
api_secret=api_secret,
|
api_secret=api_secret,
|
||||||
session_key=session_key,
|
session_key=session_key,
|
||||||
submission_server="http://post.audioscrobbler.com:80/",
|
|
||||||
username=username,
|
username=username,
|
||||||
password_hash=password_hash,
|
password_hash=password_hash,
|
||||||
token=token,
|
token=token,
|
||||||
|
@ -864,7 +859,6 @@ class LibreFMNetwork(_Network):
|
||||||
api_key=api_key,
|
api_key=api_key,
|
||||||
api_secret=api_secret,
|
api_secret=api_secret,
|
||||||
session_key=session_key,
|
session_key=session_key,
|
||||||
submission_server="http://turtle.libre.fm:80/",
|
|
||||||
username=username,
|
username=username,
|
||||||
password_hash=password_hash,
|
password_hash=password_hash,
|
||||||
domain_names={
|
domain_names={
|
||||||
|
@ -1206,17 +1200,6 @@ def _string_output(func):
|
||||||
return r
|
return r
|
||||||
|
|
||||||
|
|
||||||
def _pad_list(given_list, desired_length, padding=None):
|
|
||||||
"""
|
|
||||||
Pads a list to be of the desired_length.
|
|
||||||
"""
|
|
||||||
|
|
||||||
while len(given_list) < desired_length:
|
|
||||||
given_list.append(padding)
|
|
||||||
|
|
||||||
return given_list
|
|
||||||
|
|
||||||
|
|
||||||
class _BaseObject(object):
|
class _BaseObject(object):
|
||||||
"""An abstract webservices object."""
|
"""An abstract webservices object."""
|
||||||
|
|
||||||
|
@ -2243,12 +2226,6 @@ class Country(_BaseObject):
|
||||||
def _get_params(self): # TODO can move to _BaseObject
|
def _get_params(self): # TODO can move to _BaseObject
|
||||||
return {'country': self.get_name()}
|
return {'country': self.get_name()}
|
||||||
|
|
||||||
def _get_name_from_code(self, alpha2code):
|
|
||||||
# TODO: Have this function lookup the alpha-2 code and return the
|
|
||||||
# country name.
|
|
||||||
|
|
||||||
return alpha2code
|
|
||||||
|
|
||||||
def get_name(self):
|
def get_name(self):
|
||||||
"""Returns the country name. """
|
"""Returns the country name. """
|
||||||
|
|
||||||
|
@ -2474,10 +2451,6 @@ class Library(_BaseObject):
|
||||||
else:
|
else:
|
||||||
self.user = User(user, self.network)
|
self.user = User(user, self.network)
|
||||||
|
|
||||||
self._albums_index = 0
|
|
||||||
self._artists_index = 0
|
|
||||||
self._tracks_index = 0
|
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return "pylast.Library(%s, %s)" % (repr(self.user), repr(self.network))
|
return "pylast.Library(%s, %s)" % (repr(self.user), repr(self.network))
|
||||||
|
|
||||||
|
@ -3132,10 +3105,6 @@ class User(_BaseObject, _Chartable):
|
||||||
|
|
||||||
self.name = user_name
|
self.name = user_name
|
||||||
|
|
||||||
self._past_events_index = 0
|
|
||||||
self._recommended_events_index = 0
|
|
||||||
self._recommended_artists_index = 0
|
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return "pylast.User(%s, %s)" % (repr(self.name), repr(self.network))
|
return "pylast.User(%s, %s)" % (repr(self.name), repr(self.network))
|
||||||
|
|
||||||
|
@ -3226,9 +3195,6 @@ class User(_BaseObject, _Chartable):
|
||||||
|
|
||||||
This method uses caching. Enable caching only if you're pulling a
|
This method uses caching. Enable caching only if you're pulling a
|
||||||
large amount of data.
|
large amount of data.
|
||||||
|
|
||||||
Use extract_items() with the return of this function to
|
|
||||||
get only a sequence of Track objects with no playback dates.
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
params = self._get_params()
|
params = self._get_params()
|
||||||
|
@ -3343,9 +3309,6 @@ class User(_BaseObject, _Chartable):
|
||||||
|
|
||||||
This method uses caching. Enable caching only if you're pulling a
|
This method uses caching. Enable caching only if you're pulling a
|
||||||
large amount of data.
|
large amount of data.
|
||||||
|
|
||||||
Use extract_items() with the return of this function to
|
|
||||||
get only a sequence of Track objects with no playback dates.
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
params = self._get_params()
|
params = self._get_params()
|
||||||
|
@ -4152,17 +4115,4 @@ def _unescape_htmlentity(string):
|
||||||
return string
|
return string
|
||||||
|
|
||||||
|
|
||||||
def extract_items(top_items_or_library_items):
|
|
||||||
"""
|
|
||||||
Extracts a sequence of items from a sequence of TopItem or
|
|
||||||
LibraryItem objects.
|
|
||||||
"""
|
|
||||||
|
|
||||||
seq = []
|
|
||||||
for i in top_items_or_library_items:
|
|
||||||
seq.append(i.item)
|
|
||||||
|
|
||||||
return seq
|
|
||||||
|
|
||||||
|
|
||||||
# End of file
|
# End of file
|
||||||
|
|
|
@ -1564,12 +1564,49 @@ class TestPyLast(unittest.TestCase):
|
||||||
tags = ["tracktagola"]
|
tags = ["tracktagola"]
|
||||||
track = self.network.get_track("Test Artist", "test title")
|
track = self.network.get_track("Test Artist", "test title")
|
||||||
track.add_tags(tags)
|
track.add_tags(tags)
|
||||||
|
|
||||||
# Act
|
# Act
|
||||||
tracks = lastfm_user.get_tagged_tracks('tracktagola', limit=1)
|
tracks = lastfm_user.get_tagged_tracks('tracktagola', limit=1)
|
||||||
|
|
||||||
# Assert
|
# Assert
|
||||||
self.helper_only_one_thing_in_list(tracks, pylast.Track)
|
self.helper_only_one_thing_in_list(tracks, pylast.Track)
|
||||||
|
|
||||||
|
@handle_lastfm_exceptions
|
||||||
|
def test_user_subscriber(self):
|
||||||
|
# Arrange
|
||||||
|
subscriber = self.network.get_user("RJ")
|
||||||
|
non_subscriber = self.network.get_user("Test User")
|
||||||
|
|
||||||
|
# Act
|
||||||
|
subscriber_is_subscriber = subscriber.is_subscriber()
|
||||||
|
non_subscriber_is_subscriber = non_subscriber.is_subscriber()
|
||||||
|
|
||||||
|
# Assert
|
||||||
|
self.assertTrue(subscriber_is_subscriber)
|
||||||
|
self.assertFalse(non_subscriber_is_subscriber)
|
||||||
|
|
||||||
|
@handle_lastfm_exceptions
|
||||||
|
def test_user_get_image(self):
|
||||||
|
# Arrange
|
||||||
|
user = self.network.get_user("RJ")
|
||||||
|
|
||||||
|
# Act
|
||||||
|
url = user.get_image()
|
||||||
|
|
||||||
|
# Assert
|
||||||
|
self.assertTrue(url.startswith("https://"))
|
||||||
|
|
||||||
|
@handle_lastfm_exceptions
|
||||||
|
def test_user_get_library(self):
|
||||||
|
# Arrange
|
||||||
|
user = self.network.get_user(self.username)
|
||||||
|
|
||||||
|
# Act
|
||||||
|
library = user.get_library()
|
||||||
|
|
||||||
|
# Assert
|
||||||
|
self.assertIsInstance(library, pylast.Library)
|
||||||
|
|
||||||
@handle_lastfm_exceptions
|
@handle_lastfm_exceptions
|
||||||
def test_caching(self):
|
def test_caching(self):
|
||||||
# Arrange
|
# Arrange
|
||||||
|
|
Loading…
Reference in a new issue