#!/usr/local/bin/perl
#
# addnickname - add nickname from table but only for newly added
# entries.  Run after the merge3 step.
#
# usage: addnickname config [files]
if ($#ARGV<0)
  {print STDERR "Usage: addnickname config [files]\n";exit 1;}
 
%nicks = (
    "alexander","alex",
    "andrew","andy",
    "anthony","tony",
    "barbara","barb",
    "benjamin","ben",
    "bradley","brad",
    "calvin","cal",
    "carolyn","carol",
    "catherine","cathy",
    "christine","chris",
    "christopher","chris",
    "daniel","dan",
    "david","dave",
    "deborah","deb",
    "donald","don",
    "douglas","doug",
    "edward","ed",
    "elizabeth","beth",
    "eugene","gene",
    "franklin","frank",
    "frederick","fred",
    "geoffrey","geoff",
    "gerald","jerry",
    "gregory","greg",
    "jacqueline","jackie",
    "james","jim",
    "jeffery","jeff",
    "jeffrey","jeff",
    "jennifer","jenny",
    "jonathan","jon",
    "joseph","joe",
    "joshua","josh",
    "judith","judy",
    "katherine","kathy",
    "kathleen","kathy",
    "kathryn","kathy",
    "kenneth","ken",
    "kimberley","kim",
    "kimberly","kim",
    "laurence","larry",
    "lawrence","larry",
    "leonard","len",
    "matthew","matt",
    "michael","mike",
    "nicholas","nick",
    "pamela","pam",
    "patricia","pat",
    "patrick","pat",
    "philip","phil",
    "phillip","phil",
    "randall","randy",
    "raymond","ray",
    "richard","rich rick",
    "robert","rob bob",
    "ronald","ron",
    "russel","russ",
    "russell","russ",
    "samuel","sam",
    "sandra","sandy",
    "stanley","stan",
    "stephen","steve",
    "steven","steve",
    "stuart","stu",
    "thomas","tom",
    "timothy","tim",
    "victoria","vicky",
    "walter","walt",
    "william","will bill"
);

#
# Datestamp
($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time);
$year += ($year < 70) ? 2000 : 1900;
$Date = sprintf("%d/%d", $mon+1, $year);

# find the numbers of the noupdate and nickname fields
$cnum = $namenum = $nonum = $nicknum = -1;
$config=shift;
open (CONFIG,$config) || die "$config: $!\n";
while (<CONFIG>)
{
  if (/:no_update:/) {($nonum)=(split(':'))[0];}
  elsif (/:name:/) {($namenum)=(split(':'))[0];}
  elsif (/:nickname:/) {($nicknum)=(split(':'))[0];}
  elsif (/:created:/) {($cnum)=(split(':'))[0];}
}
close(CONFIG);

while (<>)
{
  if ((/^$namenum:/o || /\t$namenum:/o) && !/\t$nonum:/o && !/\t$nicknum:/o &&
      /\t$cnum:$Date/o)
  {
    chop;
    $line=$_;
    $firstname = $nickname = "";

    if (/\t$namenum:[^ 	][^ 	]*[ ]([^ 	]*).*/) {$firstname = $1;}
    if (/^$namenum:[^ 	][^ 	]*[ ]([^ 	]*).*/) {$firstname = $1;}
    $nickname = $nicks{$firstname};
    if ($nickname ne "") { print "$line\t$nicknum:$nickname\n"; }
    else { print "$line\n"; }
  }
  else { print $_; }
}
