feat: detect local artists, rgs and releases

This commit is contained in:
2025-08-23 14:02:39 +02:00
parent bf3a26a4fd
commit d525342187
5 changed files with 42 additions and 8 deletions

View File

@@ -1,8 +1,16 @@
BEGIN { OFS="\t" }
$2 == "Group" { name = format_group }
$2 != "Group" { name = format_person }
BEGIN {
OFS="\t"
local_artists[0] = 0
delete local_artists[0]
while ((getline < file_local_artists) == 1)
local_artists[$1] = 1
close(file_local_artists)
}
{
gsub("&", "\\\\&")
name = $2 == "Group" ? format_group : format_person
if (local_artists[$1])
name = format_local name
if ($4)
name = name " " format_disambiguation
sub("<<disambiguation>>", $4, name)

View File

@@ -1,5 +1,11 @@
BEGIN { OFS="\t" }
BEGIN {
OFS="\t"
local_releasegroups[0] = 0
delete local_releasegroups[0]
while ((getline < file_local_releasegroups) == 1)
local_releasegroups[$1] = 1
close(file_local_releasegroups)
}
{
line_type=""
line_sectype=""
@@ -12,6 +18,8 @@ BEGIN { OFS="\t" }
title = $5
artistcredit = $6
line_release = artist == artistcredit ? format_release : format_release_w_artist
if (local_releasegroups[$1])
line_release = format_local line_release
switch (type) {
case "Single": line_type=format_single; break
case "Album": line_type=format_album; break

View File

@@ -1,5 +1,11 @@
BEGIN { OFS="\t" }
BEGIN {
OFS="\t"
local_releases[0] = 0
delete local_releases[0]
while ((getline < file_local_releases) == 1)
local_releases[$1] = 1
close(file_local_releases)
}
{
id = $1
status = $2
@@ -31,6 +37,8 @@ BEGIN { OFS="\t" }
line = line "\t" release_format_title
else
line = line "\t"
if (local_releases[id])
line = format_local line
sub("<<status>>", line_status, line)
sub("<<year>>", year, line)

View File

@@ -106,9 +106,11 @@ if [ "${1:-}" = "--internal-search" ]; then
] | join("\t")' |
awk \
-F "\t" \
-v file_local_artists="${LOCALDATA_ARTISTS:-}" \
-v format_person="$AV_PERSON" \
-v format_group="$AV_GROUP" \
-v format_disambiguation="$AV_DISAMBIGUATION" \
-v format_local="$FORMAT_LOCAL" \
"$AWK_ARTISTS" |
tee "$RESULTS" ||
true
@@ -124,6 +126,7 @@ if [ "${1:-}" = "--internal-search" ]; then
] | join("\t")' |
awk \
-F "\t" \
-v file_local_releasegroups="${LOCALDATA_RELEASEGROUPS:-}" \
-v format_release="$RGV_RELEASE" \
-v format_release_w_artist="$RGV_RELEASE_W_ARTIST" \
-v format_year="$RGV_YEAR" \
@@ -146,6 +149,7 @@ if [ "${1:-}" = "--internal-search" ]; then
-v format_mixtape="$FORMAT_TYPE_SECONDARY_MIXTAPE" \
-v format_demo="$FORMAT_TYPE_SECONDARY_DEMO" \
-v format_fieldrec="$FORMAT_TYPE_SECONDARY_FIELDREC" \
-v format_local="$FORMAT_LOCAL" \
"$AWK_RELEASEGROUPS" |
cut -d "$(printf '\t')" -f 2- |
column -t -s "$(printf '\t')" |
@@ -171,6 +175,7 @@ if [ "${1:-}" = "--internal-list-releasegroups" ]; then
awk \
-F "\t" \
-v artist="$name" \
-v file_local_releasegroups="${LOCALDATA_RELEASEGROUPS:-}" \
-v format_release="$RGV_RELEASE" \
-v format_release_w_artist="$RGV_RELEASE_W_ARTIST" \
-v format_year="$RGV_YEAR" \
@@ -193,6 +198,7 @@ if [ "${1:-}" = "--internal-list-releasegroups" ]; then
-v format_mixtape="$FORMAT_TYPE_SECONDARY_MIXTAPE" \
-v format_demo="$FORMAT_TYPE_SECONDARY_DEMO" \
-v format_fieldrec="$FORMAT_TYPE_SECONDARY_FIELDREC" \
-v format_local="$FORMAT_LOCAL" \
"$AWK_RELEASEGROUPS" |
sort -n -r |
cut -d "$(printf '\t')" -f 2- |
@@ -221,6 +227,7 @@ if [ "${1:-}" = "--internal-list-releases" ]; then
] | join("\t")' |
awk \
-F "\t" \
-v file_local_releases="${LOCALDATA_RELEASES:-}" \
-v release_official="$FORMAT_STATUS_OFFICIAL" \
-v release_promotion="$FORMAT_STATUS_PROMO" \
-v release_bootleg="$FORMAT_STATUS_BOOTLEG" \
@@ -234,6 +241,7 @@ if [ "${1:-}" = "--internal-list-releases" ]; then
-v release_format_artist="$RV_ARTIST" \
-v rg_artist="$artist" \
-v rg_title="$title" \
-v format_local="$FORMAT_LOCAL" \
"$AWK_RELEASES" |
sort -n -r |
cut -d "$(printf '\t')" -f 2- |

View File

@@ -10,6 +10,8 @@ CDESC="\033[38;5;254m"
CLIFE="\033[38;5;251m"
OFF="\033[m"
FORMAT_LOCAL="${FORMAT_LOCAL:-"\033[1m\033[48;5;88m"}"
# Prompts
SEARCH_PROMPT=${SEARCH_PROMPT:-"🔎 〉"}
ARTIST_PROMPT="${ARTIST_PROMPT:-"🎤 ${CARTIST}%s$OFF"}"