Files
fuzic/src/awk/releases.awk

58 lines
1.7 KiB
Awk

BEGIN {
OFS="\t"
local_releases[0] = 0
delete local_releases[0]
if (file_local_releases) {
while ((getline < file_local_releases) == 1)
local_releases[$1] = $2
close(file_local_releases)
}
}
{
id = $1
status = $2
year = substr($3, 1, 4) + 0
year = year == 0 ? "" : year
covercount = $4
label = $5
trackcnt = $6
media = $7
country = $8
title = $9
artist = $10
switch (status) {
case "Official": line_status = release_official; break
case "Promotion": line_status = release_promotion; break
case "Bootleg": line_status = release_bootleg; break
case "Pseudo-release": line_status = release_pseudo; break
case "Withdrawn": line_status = release_withdrawn; break
case "Expunged": line_status = release_expunged; break
case "Cancelled": line_status = release_cancelled; break
default: line_status = ""
}
line = release_format
if (artist != rg_artist && title != rg_title)
line = line "\t" release_format_title_artist
else if (artist != rg_artist && title == rg_title)
line = line "\t" release_format_artist
else if (artist == rg_artist && title != rg_title)
line = line "\t" release_format_title
else
line = line "\t"
sub("<<status>>", line_status, line)
sub("<<year>>", year, line)
sub("<<tracks>>", trackcnt, line)
sub("<<media>>", media, line)
gsub("&", "\\\\&", label)
sub("<<label>>", label, line)
gsub("&", "\\\\&", titel)
sub("<<title>>", title, line)
gsub("&", "\\\\&", artist)
sub("<<artist>>", artist, line)
sub("<<country>>", country, line)
sortk = year ? year : 0
l = local_releases[id] ? format_local : ""
print sortk, l, line, rgid ? rgid : "0", id ":" local_releases[id]
}