scene release to discogs release
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
bux b509f07851 select best match based on record type when multiple are returned il y a 2 ans
LICENSE Initial commit il y a 2 ans
README.md example cover art download il y a 2 ans
in-ws-predb.ovh.sh v0.0.3 il y a 2 ans
out-deezer-cover.jq select best match based on record type when multiple are returned il y a 2 ans
out-fallback.jq v0.0.3 il y a 2 ans
out-ids.jq v0.0.3 il y a 2 ans
out-simple.jq v0.0.3 il y a 2 ans
parse-rls.fish accept SP as lang/country il y a 2 ans
search-deezer-api.fish test that API response contains total il y a 2 ans
search-discogs-api.fish v0.0.3 il y a 2 ans
search-discogs-elastic.fish v0.0.3 il y a 2 ans

README.md

rls-discogs

scene release to discogs release

using

flow

scene rls name > parse > artist / title / year as .tsv > search discogs > .json

tools

  • in-ws-predb.ovh.sh read scene release names from predb websocket
  • parse-rls.fish parse scene release name
  • search-discogs-api.fish search discogs release using Discogs REST API
  • search-discogs-elastic.fish search discogs release using ElasticSearch
  • search-deezer-api.fish search for album with Deezer REST API
  • out-fallback.jq fallback search helper
  • out-ids.jq filter ids from json output
  • out-simple.jq filter genre from json output

usage

parse rls name as tab separated values

$ echo 'Kraftwerk-Autobahn-Remastered-CD-FLAC-2009-BCC' | ./parse-rls.fish | column -t -s "$(printf '\t')"
Kraftwerk-Autobahn-Remastered-CD-FLAC-2009-BCC  Kraftwerk  Autobahn      CD  Remastered  2009

parse rls name as json

$ echo 'Kraftwerk-Autobahn-Remastered-CD-FLAC-2009-BCC' | ./parse-rls.fish -j | jq .
{
  "artist": "Kraftwerk",
  "barcode": null,
  "catno": null,
  "edition": "Remastered",
  "format": "CD",
  "rls": "Kraftwerk-Autobahn-Remastered-CD-FLAC-2009-BCC",
  "title": "Autobahn",
  "year": "2009"
}

parse rls name, search local ElasticSearch, output discogs ids

$ echo 'Kraftwerk-Autobahn-Remastered-CD-FLAC-2009-BCC' | ./parse-rls.fish | ./search-discogs-elastic.fish | ./out-ids.jq
{"artist_id":4654,"master_id":2994,"release_id":1966322,"rls":"Kraftwerk-Autobahn-Remastered-CD-FLAC-2009-BCC"}

get rls names from websocket, parse rls name, search with api.discogs.com, write .json

$ ./in-ws-predb.ovh.sh | ./parse-rls.fish | search-discogs-api.fish > out.api.json

parse rls name, search local ElasticSearch, write json, filter empty results and convert json to tsv, fallback search with Discogs API, write json

$ echo 'Band_Of_Horses-Things_Are_Great-CD-2022-FATHEAD' | ./parse-rls.fish | ./search-discogs-elastic.fish | \
  tee out.es.json | ./out-fallback.jq | ./search-discogs-api.fish > out.api.json
$ jq ._search_result_count out.es.json out.api.json
0
1

With fish shell:

parse rls names from local folder, search Deezer, filter cover URL, download cover image into local folder

ls -1 /path/ | ./parse-rls.fish | ./search-deezer-api.fish | ./out-deezer-cover.jq | while read -l RLS COVER ; if not test -f "/path/$RLS/cover.jpg"; curl -s -o "/path/$RLS/cover.jpg" "$COVER"; end; end