beets: add resolver

This allows you to, given a beets library and a playlist, resolve the tracks in the playlist to their corresponding files.

A neat thing you can do is use this to play an arbitrary XSPF using tracks that you already have in your beets library:

python3 -m calliope import 1987.xspf | \
python3 -m calliope beets resolve - | \
python3 -m calliope export -f m3u | \
vlc -

Or play all of your Spotify tracks that are in both the Spotify and Beets libraries (untested):

python3 -m calliope spotify export --library | \
python3 -m calliope beets resolve - | \
python3 -m calliope export -f m3u | \
vlc -

The possibilities are endless! :-)

N.b.: The whitespace changes and the reordering of the imports is from running Black.

Closes #107 (closed)

Todo

  • Write changelog entry
  • Write tests (needs !240 (merged))
  • Improve documentation
Edited by Tomodachi94

Merge request reports

Loading