
$fromdir = $ENV{HOME};
# $todir = $ENV{HOME};
$todir = "/tmp";
# mkdir -p /tmp/.gnome2/Gossip/logs

opendir(DIRHANDLE, "$fromdir/.gaim/logs/jabber") || die "Cannot opendir $fromdir/.gaim/logs/jabber: $!";

foreach $account (sort readdir(DIRHANDLE)) 
{
  print "found account: $account\n";

  opendir(ACCDIRHANDLE, "$fromdir/.gaim/logs/jabber/$account") || print ("Cannot opendir $fromdir/.gaim/logs/jabber/$account: $!\n");

  mkdir ("$todir/.gnome2/Gossip/logs/$account/");

  foreach $logdir (sort readdir(ACCDIRHANDLE)) 
  {

    print "found logdir: $logdir\n";
    mkdir ("$todir/.gnome2/Gossip/logs/$account/$logdir"); 

    opendir(LOGDIRHANDLE, "$fromdir/.gaim/logs/jabber/$account/$logdir") || print ("Cannot opendir $fromdir/.gaim/logs/jabber/$account/$logdir: $!\n");
    foreach $logfile (sort readdir(LOGDIRHANDLE)) 
    {
     if (!($logfile == "." || $logfile == ".."))
     {
      print "found log: $logfile\n";
      if ($logfile =~ /(....)-(..)-(..)/)
      {
		$year = $1;
		$month = $2;
		$day = $3;
      }
      open (LOGFILE, "$fromdir/.gaim/logs/jabber/$account/$logdir/$logfile");

      open(WRITEFILE,">>$todir/.gnome2/Gossip/logs/$account/$logdir/$year$month$day.log") || die("Cannot Open File");

      print WRITEFILE "<?xml version='1.0' encoding='utf-8'?>\n";
      print WRITEFILE "<?xml-stylesheet type=\"text/xsl\" href=\"gossip-log.xsl\"?>\n";
      print WRITEFILE "<log>\n";

      while ($line = <LOGFILE>)
      {

	  if ($line =~ /Conversation\swith\s(.*)\sat.*on\s(.*)\/(.*)</)
	  {
		$with=$1;
		$me=$2;
		$resource=$3." ";
		$resource =~ s/\(.*?\)//gxs;
		$resource =~ s/\n//gxs;
		$resource =~ s/^\s*//gxs;
		$resource =~ s/\s*$//gxs;
	  }

	  if ($line =~ /<font\scolor=".*"><font size="2">\((.*)\s(..)\)<\/font>\s<b>(.*):<\/b>(.*)$/)
	  {
		$ttime = $1;
		$from = $3;

		$msg = $4." ";
		$msg =~ s/<.*?>//gxs;
		$msg =~ s/\n//gxs;
		$msg =~ s/^\s*//gxs;
		$msg =~ s/\s*$//gxs;

		print WRITEFILE "<message time='$year$month$day"."T".$ttime."' from='$from' resource='$resource' nick='$from'>$msg</message>\n";
	  }
      }
      print WRITEFILE "</log>\n";
      close (LOGFILE);
      close (WRITEFILE);

     }
    }
    closedir (LOGDIRHANDLE);
   }
  closedir (ACCDIRHANDLE);
}
closedir(DIRHANDLE);

