A small library to query for a release ID from musicbrainz, then locate and queue downloads for the tracks in that release on an instance of slskd
- Install
requests
,musicbrainzngs
,slskd-api
from pypi withpip3 install requests musicbrainzngs slskd-api
- Copy the functions in
slskdsearch.py
, or the file itself, into your project (it's MIT license). - Set the environment variables
SLSKD_HOST
andSLSKD_KEY
to the path to your slskd instance (http://hostname:port
) and your API key for slskd respectively, or edit the values in the definition for theslskd
variable. - Set the environment variables
LIDARR_HOST
andLIDARR_KEY
to the path to your lidarr instance (http://hostname:port
) and your API key for lidarr respectively, or edit the values for thelidarr
variable.
do the above installation, then run python3 -i slskdsearch.py
, then find the release ID for the album you want (not the release-group, one of the listed releases, probably the US CD release for western music) and run
release_id = "pasted_id"
album = get_album(release_id)
search(album)
check slskd/searches to see the search progress, if it's successful it'll queue the files under /downloads and delete the search, if it's unsuccessful it'll show the search ID and you'll have to manually select files because it couldn't do it automatically sorry
You can also now tell lidarr to create an entry for the album and artist with
lidarr_album = add_album_to_lidarr(release_id)
So far I haven't been able to get Lidarr to import the files from my unsorted folder automatically, you'll want to go to /wanted/missing
, click Manual Import, and import it like that. But after that you can use
lidarr_retag(lidarr_album["artist"]["id"])
to trigger Lidarr to update the metadata in the files. And then your music server should pick up the new files and all should be fine and/or dandy.