A .NET client for the Last.fm REST API.
##Currently Supported These are the parts of the Last.FM REST API that are currently implemented:
- Currently Playing from Service information for a user (scrapes last.fm user page)
- Parse additional artist data from artist.getInfo including band members and a list of formation years
- Page the library API method (getTracks & getAlbums) results
There are three types of exceptions you can expect to be thrown from the last.fm client:
- ArgumentException - Thrown if an API key is not specified
- WebException - Thrown by the .NET WebClient if it cannot make a connection to the last.fm REST services
- LastfmException - A custom exception thrown if a last.fm service returns a failed lfm status. It includes the error code and the message returned by the last.fm service.
##End-to-End Tests There are a few XUnit style end to end tests in the test project. These tests will call the last.fm services and verify that results are being returned. They are marked as Explicit so that they are isolated from the actual unit tests (in the same project).
##Example Usage For examples of how to use the library take a look at the End-To-End tests previously mentioned. They can be found in the LastfmServiceEndToEndTest.cs file. Each test case is an example of how to call each of the exposed Lastfm service methods.
##Suggestions The last.fm API is quite large and I'm barely scratching the surface of it, implementing the parts of the API that I am currently using.
If you have any requests for parts of the API that you would like implemented drop me a line or go ahead and fork and send pull requests.##Project Dependencies HtmlAgilityPack 1.4.8 NUnit 2.6.3 RhinoMocks 3.6.1