This release is a result of the substantial cleanup work in PR 69.
- Makes substantial clean-ups to API and Genius classes within the `api.py`
- Uses the proper exception for catching Timeouts
- Removes drifting code blocks form `search_song`
- Adds support for `search_genius_web`, the search endpoint used on Genius.com
- Overhauls `search_artist` to use the `search_genius_web` endpoint, improving reliability and robustness of search results
- Improves the while loop criteria for `search_artist`
- Updates README style
- Minor clean-ups to the `song.py` and `artist.py` files (additional work needed)
Additionally, PR 70 introduced the correct Python approach for handling input from the command line.
Have at it!
- User-Agent is now "LyricsGenius"
- Removing section headers in lyrics is optional now
- Add option to heuristically remove non-songs (tracklists, credits, etc.)
- Add the _clean_str() method
- Add a couple tests
- General bug fixes and clean-ups
At some point I must have re-introduced a bug that made searching for songs case sensitive. This release fixes that bug. This release also switches the PyPI README file from `markdown` to `RST` because PyPI requires `RST` for proper formatting.
This release should be much more stable with Unicode issues (as identified in 21 and 24).
I've also decided to remove Python 2.x support. It just wasn't playing nice enough with Unicode.
Following [Peter Downs's tutorial](http://peterdowns.com/posts/first-time-with-pypi.html) for publishing a project on [PyPI](https://pypi.python.org/pypi). So this tag gets the package ready for that process.