diff --git a/pylast/__init__.py b/pylast/__init__.py index fb8fd41..6934ed0 100644 --- a/pylast/__init__.py +++ b/pylast/__init__.py @@ -986,8 +986,8 @@ class LibreFMNetwork(_Network): _Network.__init__( self, name="Libre.fm", - homepage="http://alpha.libre.fm", - ws_server=("alpha.libre.fm", "/2.0/"), + homepage="http://libre.fm", + ws_server=("libre.fm", "/2.0/"), api_key=api_key, api_secret=api_secret, session_key=session_key, @@ -995,18 +995,18 @@ class LibreFMNetwork(_Network): username=username, password_hash=password_hash, domain_names={ - DOMAIN_ENGLISH: "alpha.libre.fm", - DOMAIN_GERMAN: "alpha.libre.fm", - DOMAIN_SPANISH: "alpha.libre.fm", - DOMAIN_FRENCH: "alpha.libre.fm", - DOMAIN_ITALIAN: "alpha.libre.fm", - DOMAIN_POLISH: "alpha.libre.fm", - DOMAIN_PORTUGUESE: "alpha.libre.fm", - DOMAIN_SWEDISH: "alpha.libre.fm", - DOMAIN_TURKISH: "alpha.libre.fm", - DOMAIN_RUSSIAN: "alpha.libre.fm", - DOMAIN_JAPANESE: "alpha.libre.fm", - DOMAIN_CHINESE: "alpha.libre.fm", + DOMAIN_ENGLISH: "libre.fm", + DOMAIN_GERMAN: "libre.fm", + DOMAIN_SPANISH: "libre.fm", + DOMAIN_FRENCH: "libre.fm", + DOMAIN_ITALIAN: "libre.fm", + DOMAIN_POLISH: "libre.fm", + DOMAIN_PORTUGUESE: "libre.fm", + DOMAIN_SWEDISH: "libre.fm", + DOMAIN_TURKISH: "libre.fm", + DOMAIN_RUSSIAN: "libre.fm", + DOMAIN_JAPANESE: "libre.fm", + DOMAIN_CHINESE: "libre.fm", }, urls={ "album": "artist/%(artist)s/album/%(album)s", @@ -1766,15 +1766,15 @@ class WSError(Exception): class MalformedResponseError(Exception): - """Exception conveying a malformed response from Last.fm.""" + """Exception conveying a malformed response from the music network.""" def __init__(self, network, underlying_error): self.network = network self.underlying_error = underlying_error def __str__(self): - return "Malformed response from Last.fm. Underlying error: %s" % str( - self.underlying_error) + return "Malformed response from {}. Underlying error: {}".format( + self.network.name, str(self.underlying_error)) class NetworkError(Exception): diff --git a/tests/test_pylast.py b/tests/test_pylast.py index 58f16bd..868983d 100755 --- a/tests/test_pylast.py +++ b/tests/test_pylast.py @@ -375,21 +375,6 @@ class TestPyLast(unittest.TestCase): self.assertEqual(str(current_track.title), "Test Title") self.assertEqual(str(current_track.artist), "Test Artist") - @handle_lastfm_exceptions - def test_libre_fm(self): - # Arrange - username = self.__class__.secrets["username"] - password_hash = self.__class__.secrets["password_hash"] - - # Act - network = pylast.LibreFMNetwork( - password_hash=password_hash, username=username) - tags = network.get_top_tags(limit=1) - - # Assert - self.assertGreater(len(tags), 0) - self.assertIsInstance(tags[0], pylast.TopItem) - @handle_lastfm_exceptions def test_album_tags_are_topitems(self): # Arrange @@ -2175,5 +2160,26 @@ class TestPyLast(unittest.TestCase): # Assert self.assertEqual(mbid, None) + +@flaky(max_runs=5, min_passes=1) +class TestPyLastWithLibreFm(unittest.TestCase): + """Own class for Libre.fm because we don't need the Last.fm setUp""" + + def test_libre_fm(self): + # Arrange + secrets = load_secrets() + username = secrets["username"] + password_hash = secrets["password_hash"] + + # Act + network = pylast.LibreFMNetwork( + password_hash=password_hash, username=username) + artist = network.get_artist("Radiohead") + name = artist.get_name() + + # Assert + self.assertEqual(name, "Radiohead") + + if __name__ == '__main__': unittest.main(failfast=True)