Files
fuzic/src/awk/releases.awk

59 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)
}
}
{
parentid = $1
id = $2
status = $3
year = substr($4, 1, 4) + 0
year = year == 0 ? "" : year
covercount = $5
label = $6
trackcnt = $7
media = $8
country = $9
title = $10
artist = $11
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, parentid, id ":" local_releases[id]
}