rendered paste bodyalias extractfil {
if (!$1) { return }
;$1 = filnavn
; argument 1 er filnavnet
if ($exists($1)) { echo -a Leser filen $1 $+ . }
else { echo -a Filen $1 eksisterer ikke. | return }
; sjekker at formatet er riktig på filen
; xmcd er i toppen av hver fil
if (xmcd !isin $read($1,1)) {
echo -a Filen $1 er feil format.
return
}
; antall linjer i filen
var %linjer = $lines($1)
var %i = 0
while (%i <= %linjer) {
; leser linje nr %i
var %cddb.lest = $read($1,%i)
if (= isin %cddb.lest) {
if (discid= isin %cddb.lest) {
; finner cd-iden
var %cddb.discid = $gettok(%cddb.lest, 2, 61)
}
if (dyear= isin %cddb.lest) {
; finner året
var %cddb.year = $gettok(%cddb.lest, 2, 61)
if (!%cddb.year) { var %cddb.year Year unknown }
}
if (dgenre= isin %cddb.lest) {
; finner genren
var %cddb.genre = $gettok(%cddb.lest, 2, 61)
if (!%cddb.genre) { var %cddb.genre Genre unknown }
}
if (dtitle= isin %cddb.lest) {
; kutter opp artisten og navnet på cden
var %cddb.artist = $gettok($gettok(%cddb.lest, 2, 61), 1, 47)
var %cddb.cdname = $gettok($gettok(%cddb.lest, 2, 61), 2, 47)
; bytter cdnavn til artistnavn, og setter artist til various
if (!%cddb.cdname) { var %cddb.cdname = %cddb.artist | var %cddb.artist = VA }
var %cddb.artist = $replace(%cddb.artist, Various Artist, VA, Various, VA)
}
if ($regex(%cddb.lest, (TTITLE[0-9]{1,2}=))) {
var %cddb.spor = $calc($remove($gettok(%cddb.lest, 1, 61), TTITLE) +1)
var %cddb.tittel = $gettok(%cddb.lest, 2, 61)
; hvis det er Various Artist
if (%cddb.artist == VA) {
var %cddb.tittel = $replace(%cddb.tittel, $+($chr(32), $chr(45), $chr(32)), $chr(254))
var %cddb.split.art = $gettok(%cddb.tittel, 1, 254)
var %cddb.split.tit = $gettok(%cddb.tittel, 2, 254)
; skriver til fil når det er various artist
; echo -a INSERT INTO cdtracks (ID, TrackID, Artist, Title) VALUES(' $+ %cddb.discid $+ ',' $+ %cddb.spor $+ ',' $+ %cddb.split.art $+ ',' $+ %cddb.split.tit $+ ')
write cdtracks.txt INSERT INTO cdtracks (ID, TrackID, Artist, Title) VALUES(' $+ %cddb.discid $+ ',' $+ %cddb.spor $+ ',' $+ %cddb.split.art $+ ',' $+ %cddb.split.tit $+ ')
}
else {
; skriver til fil
; echo -a INSERT INTO cdtracks (ID, TrackID, Artist, Title) VALUES(' $+ %cddb.discid $+ ',' $+ %cddb.spor $+ ',' $+ %cddb.artist $+ ',' $+ %cddb.tittel $+ ')
write cdtracks.txt INSERT INTO cdtracks (ID, TrackID, Artist, Title) VALUES(' $+ %cddb.discid $+ ',' $+ %cddb.spor $+ ',' $+ %cddb.artist $+ ',' $+ %cddb.tittel $+ ')
}
}
}
; øker %i
inc %i
}
;echo -a INSERT INTO cdinfo (ID, Artist, Title, Year, Genre) VALUES(' $+ %cddb.discid $+ ',' $+ %cddb.artist $+ ',' $+ %cddb.cdname $+ ',' $+ %cddb.year $+ ',' $+ %cddb.genre $+ ')
write cdinfo.txt INSERT INTO cdinfo (ID, Artist, Title, Year, Genre) VALUES(' $+ %cddb.discid $+ ',' $+ %cddb.artist $+ ',' $+ %cddb.cdname $+ ',' $+ %cddb.year $+ ',' $+ %cddb.genre $+ ')
}
alias allefiler {
if (!$1) { return }
remove cdtracks.txt
remove cdinfo.txt
; finner alle filer i mappen
var %cddb.all.files = $findfile($shortfn($1),*,0)
echo -a Fant %cddb.all.files filer
var %j = 1
while (%j <= %cddb.all.files) {
extractfil $findfile($shortfn($1),*,%j)
;echo -a
inc %j
}
run cdtracks.txt
run cdinfo.txt
}