rg support
This commit is contained in:
@@ -1,57 +1,43 @@
|
||||
BEGIN {
|
||||
OFS="\t"
|
||||
year[0] = 0; del year[0]
|
||||
title[0] = 0; del title[0]
|
||||
type[0] = 0; del type[0]
|
||||
id[0] = 0; del id[0]
|
||||
score[0] = 0; del score[0]
|
||||
}
|
||||
|
||||
function get_score(rgdt, rgti, dt, ti, qy, res) {
|
||||
res = 0
|
||||
if (rgdt == dt)
|
||||
res = res + 5
|
||||
if (rgti == ti)
|
||||
res = res + 5
|
||||
if (qy == "normal" || qy == "unknown")
|
||||
res = res + 1
|
||||
if (qy == "high")
|
||||
res = res + 2
|
||||
return res
|
||||
}
|
||||
BEGIN { OFS="\t" }
|
||||
|
||||
{
|
||||
gsub("&", "\\\\&")
|
||||
rgmi = $1 # Release Group ID
|
||||
rgty = $2 # Release Group Type
|
||||
rgdt = substr($3, 1, 4) + 0 # Release Group Year
|
||||
rgti = $4 # Release Group Title
|
||||
mi = $5 # MusicBrainz Release ID
|
||||
qy = $6 # Release Quality
|
||||
dt = substr($7, 1, 4) + 0 # Release Year
|
||||
ti = $8 # Release Title
|
||||
s = get_score(rgdt, rgti, dt, ti, qy)
|
||||
if (score[rgmi] < s) {
|
||||
score[rgmi] = s
|
||||
year[rgmi] = dt
|
||||
title[rgmi] = ti
|
||||
type[rgmi] = rgty
|
||||
id[rgmi] = mi
|
||||
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
|
||||
|
||||
END {
|
||||
for (rgmi in id) {
|
||||
if (type[rgmi] == "Single")
|
||||
line = format_single
|
||||
else if (type[rgmi] == "Album")
|
||||
line = format_album
|
||||
else if (type[rgmi] == "EP")
|
||||
line = format_ep
|
||||
else
|
||||
line = format_album
|
||||
sub("<<year>>", dt, line)
|
||||
sub("<<title>>", ti, line)
|
||||
print mi, line
|
||||
}
|
||||
sub("<<status>>", line_status, line)
|
||||
sub("<<year>>", year, line)
|
||||
sub("<<tracks>>", trackcnt, line)
|
||||
sub("<<media>>", media, line)
|
||||
sub("<<label>>", label, line)
|
||||
sub("<<title>>", title, line)
|
||||
sub("<<artist>>", artist, line)
|
||||
sortk = year ? year : 0
|
||||
print sortk, line, id
|
||||
}
|
||||
|
Reference in New Issue
Block a user