#!/usr/bin/perl
&lock(); system("dagrab -iSD /opt/kde2/share/apps/kscd/cddb"); system("dagrab -iCH localhost > /tmp/dagrab.tmp"); open(in,"/tmp/dagrab.tmp"); while ($line = <in>) { if ($line =~ /title:/i or $line =~ /author:/i) { $known_by_cddb = 1; } if ($line =~ /cddb discid/i) { $line =~ s/cddb discid:(.*)/$1/i; $id = $line; $id =~ s/\n//; $id =~ s/ //g; } } close in;
open (in,"/tmp/mp3.list"); while ($line = <in>) { if ($line =~ /$id/i) { $exists = 1; } } close in;
if (not $exists) { #system ("rm /tmp/mp3.list"); if ($known_by_cddb == 1) { system ("dagrab -J -n100 -j2 -CH localhost -e 'mkdir -p "/home2/tmp/@aut/@dis/";lame --r3mix --ta "@AUT" --tl "@DIS" --tn "@NUM" --tt "@TRK" "%s" "/home2/tmp/@aut/@dis/@num-@trk.mp3";rm "%s"' all");
system ("eject"); open (out,">>/tmp/mp3.list"); print out $id."\n"; close out; } else { system ("dagrab -J -n100 -j2 -e '%track++;mkdir -p "/home2/tmp/Unknown/$id";lame --r3mix "%s" "/home2/tmp/Unknown/$id/%s.mp3";rm "%s"' all");
system ("eject"); open (out,">>/tmp/mp3.list"); print out $id."\n"; close out;
} } else { if ($id ne '') { system ("eject"); } } &unlock(); sleep(10); system ("nohup /root/mp3.pl &"); sub lock() { server:/tmp/mp3 # cat ~/mp3.pl #!/usr/bin/perl #exit; &lock(); system("dagrab -iSD /opt/kde2/share/apps/kscd/cddb"); system("dagrab -iCH localhost > /tmp/dagrab.tmp"); open(in,"/tmp/dagrab.tmp"); while ($line = <in>) { if ($line =~ /title:/i or $line =~ /author:/i) { $known_by_cddb = 1; } if ($line =~ /cddb discid/i) { $line =~ s/cddb discid:(.*)/$1/i; $id = $line; $id =~ s/\n//; $id =~ s/ //g; } } close in;
open (in,"/tmp/mp3.list"); while ($line = <in>) { if ($line =~ /$id/i) { $exists = 1; } } close in;
if (not $exists) { #system ("rm /tmp/mp3.list"); if ($known_by_cddb == 1) { system ("dagrab -J -n100 -j2 -CH localhost -e 'mkdir -p "/home2/tmp/@aut/@dis/";lame --r3mix --ta "@AUT" --tl "@DIS" --tn "@NUM" --tt "@TRK" "%s" "/home2/tmp/@aut/@dis/@num-@trk.mp3";rm "%s"' all");
system ("eject"); open (out,">>/tmp/mp3.list"); print out $id."\n"; close out; } else { system ("dagrab -J -n100 -j2 -e '%track++;mkdir -p "/home2/tmp/Unknown/$id";lame --r3mix "%s" "/home2/tmp/Unknown/$id/%s.mp3";rm "%s"' all");
system ("eject"); open (out,">>/tmp/mp3.list"); print out $id."\n"; close out;
} } else { if ($id ne '') { system ("eject"); } } &unlock(); sleep(10); system ("nohup /root/mp3.pl &"); sub lock() { open (in,"/tmp/mp3.lock"); $line = <in>; close in; $line =~ s/\n//; if (($line ne 'ready' or $line > (time - 3600)) and $line ne '') { exit; } else { open (out,">/tmp/mp3.lock"); print out time; close out; } }
sub unlock() { open (out,">/tmp/mp3.lock"); print out "ready"; close out; }