Skip to content

Conversation

FlorentLM
Copy link

As disussed in this issue, here's the PR that implements SQL-based paging.

However it also includes pretty heavy rewrites of the response-construction logic (and thus, of all endpoints functions), along with other minor additions / changes.

Full list (I think?):

  • Response construction is done via one unified dict-like structure and then converted into json or xml, which greatly simplifies adding new endpoints
  • All queries that can be paginated are paginated via SQL queries
  • Genres splitting when a song or album has a comma (or other delimiter)-separated list
  • Made the cover art logic more robust and faster, also fallsback to sending a cover from coverarchive.org when none is found locally
  • Added support for any m3u format including Beet's playlist and smartplaylist plugins' playlists (as well as Beetstream's own playlist_dir option of course)
  • Added support for native ffmpeg if the user donesn't have the python module installed
  • Added getAlbumInfo and getAlbumInfo2 endpoints
  • Various naming and stylistic changes to avoid shadowing built-ins (like id, etc) and for consistency

Tested with the following clients:

Gonna start implementing support for authentication in another branch and then will add the missing endpoints :)

Cheers!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant