use Misc;
#get index of files in the browser client
open A, "mapemail";
while(){
chop();
($from,$to)=split(/\>/);
@froms=split(/\,/,$from);
foreach $fr (@froms){
$mapemail{$fr}=$to;
}
}
open A, "<$ARGV[0]";
while(){
chop($_);
$client{$_}++;
}
#get email to name mapping
open A, "){
chop($_);
($login,$domain)=split(/\@/,$_);
$log{$login}.="\@domain";
}
open A, "gunzip < allmrs.gz|";
$mr=0;
while(){
$mr++;
chop();
#$f\;$mod\;$rev\;$vv\;$ymd\;$stmp\;$nadd\;$ndel
($a, $stmp1, $log, $ndelta, @rest)=split(/\;/);
$a=~s/\%/\@/;$_=~tr/[A-Z]/[a-z]/;
if ($a=~/\@/){}
else{ $a .= "\@netscape.com";}
($login,$domain)=split(/\@/,$a);
$a1="$login$log{$login}";
$nadd=0;
$ndel=0;
%f=();%m=();
foreach $i (0 .. ($ndelta-1)){
$f{$rest[$i*8+0]}++;
$m{"/".(split(/\//,$rest[$i*8+0]))[1]}++;
$nadd+=$rest[$i*8+6];
$ndel+=$rest[$i*8+7];
}
$isClient=0;
foreach $i (keys %f){
if ($client{$i}){
$isClient=1;
}
}
{
#process log
$bugs=getBugNumbers($log);
$people=thanks($log);
if ($bugs ne ""){
$isBug=1;
}else{
$isBug=0;
}
@ff=keys %f;
@mm=keys %m;
foreach $i (split(/\:/,"$a:$people")){
$ii=$mapemail{$i};
$i=~s/\+//g;#get rid of the + signs in email
if ($ii eq ""){ $ii = $i; }
print "$mr\;$stmp1\;$ndelta\;$nadd\;$ndel\;$i\;$bugs\;$isBug\;$isClient\;@mm\;@ff\;$ii\n";
}
}
}