scene release to discogs release
Go to file
2022-03-30 01:13:41 +02:00
in-ws-predb.ovh.sh v0.0.3 2022-03-27 01:50:13 +01:00
LICENSE Initial commit 2022-03-26 20:04:42 -04:00
out-deezer-cover.jq select best match based on record type when multiple are returned 2022-03-30 01:13:41 +02:00
out-fallback.jq v0.0.3 2022-03-27 01:50:13 +01:00
out-ids.jq v0.0.3 2022-03-27 01:50:13 +01:00
out-simple.jq v0.0.3 2022-03-27 01:50:13 +01:00
parse-rls.fish accept SP as lang/country 2022-03-27 16:00:26 +02:00
README.md example cover art download 2022-03-28 01:21:52 +02:00
search-deezer-api.fish test that API response contains total 2022-03-30 01:11:54 +02:00
search-discogs-api.fish v0.0.3 2022-03-27 01:50:13 +01:00
search-discogs-elastic.fish v0.0.3 2022-03-27 01:50:13 +01:00

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