Adds the PublicAPI class which covers the public endpoints available at genius.com/api. I tried to find as many of these endpoints as possible and to make sense of their parameters and responses. But since they're undocumented, can't be 100 percent sure.
renamed all the methods with a get_ as an experiment to see how they'd look without that. But if you think it's better to leave the get_ part be, I'll easily revert it back.
As there are now two API classes each with its own _make_request, I created a Sender class to be their base. Also, the API and PublicAPIclass can be initialized on their own like before, andPublicAPI` doesn't need a token.
renamed _scrach_lyrics_from_url to lyrics to allow users to use this method by passing either song URLs or song IDs.
reformatted the Artist object to allow for a client attribute. With this change, now the artist.song (formerly artist.get_song) is implemented (now it only gets a song and doesn't add it) and artist.add_song supports song names beside Song objects.
updated some of the dependencies' versions and changed .travis.yml and tox.ini to allow for all tests (unit tests, code style tests and etc) on Travis CI.
This PR makes the following additions/changes:
get_
as an experiment to see how they'd look without that. But if you think it's better to leave theget_
part be, I'll easily revert it back.Sender
class to be their base. Also, theAPI
and PublicAPIclass can be initialized on their own like before, and
PublicAPI` doesn't need a token._scrach_lyrics_from_url
tolyrics
to allow users to use this method by passing either song URLs or song IDs.Artist
object to allow for aclient
attribute. With this change, now theartist.song
(formerlyartist.get_song
) is implemented (now it only gets a song and doesn't add it) andartist.add_song
supports song names beside Song objects..travis.yml
andtox.ini
to allow for all tests (unit tests, code style tests and etc) on Travis CI.