#!/usr/bin/perl -w
#
# Makehigh
#
# Copyright (c) 2001, Smári P. McCarthy.
# 
# Distributed freely under the GNU GPL
#
# Thanks to:
#   Logi for the original ugly bash/sed code (and permision to rewrite it) 
#   Addi for some Perl Regex advice
#   Maggi for some Bug Fixes
#

$I18N = "/home/spm/public_html/kde/kde-i18n";
$WEBROOT = "/home/spm/public_html/kde";
$KDEPREFIX = "/~spm/kde";
$LANG = "is";
$POT = "$I18N/templates";
$PO = "$I18N/$LANG/messages";
$HTML = "$WEBROOT/stada.html";
$DATE= `date +"%d.%m.%Y %H:%M"`;
$WEBCVS = "http://webcvs.kde.org/cgi-bin/cvsweb.cgi/kde-i18n/$LANG/messages/";

@templatedirs = `find $POT -type d | grep -v /CVS`;

sub html { print HTML "$_[0]\n"; }

print("Building Highscore list for $LANG in $HTML.\n");
print("Using templates from $POT\n");
print("Using translations from $PO\n\n");

open(HTML, ">$HTML");
html("<HTML>\n<HEAD>");
html("<TITLE>Stağa íslensku KDE şığingarinnar ($DATE)</TITLE>");
html("</HEAD>\n<BODY bgcolor=\"#FFFFFF\">");
html("<H2>Stağa íslensku KDE şığingarinnar ($DATE)</H2>");
$i = 0;
$l = 0;

while ($P = $templatedirs[$i]) {
	$i++;
	chomp($P);
	$P =~ s/$POT//;
	if ($P eq "") { next(); }
	$P =~ s/pot$/po/;
	$P =~ s/^\///;
	$PP = $P;
	print("[$PP]\n");
	$URL = "$WEBCVS$PP";
	html("<HR>\n<B><FONT size=\"+1\">");
	html("<A href=\"$URL\">");
	if ($PP eq "") {
		html("kdelibs");
	} else {
		html("$PP");
	}
	html("</A></FONT></B>");
	html("<TABLE cellspacing=\"3\">");
	html("<TR><TD><B>Skrá</B></TD><TD><B>Línur</B></TD></TR>");
	@pofiles = `ls -1 $POT/$PP/*.pot`;
	while ($T = $pofiles[$l]) {
		$l++;
		chomp($T);
		$TT = $T;
		$TT =~ s/.pot$//;
		$TT =~ s#/.*/##g;
		if (-e "$PO/$PP/$TT.po") {
			$SRC="$PO/$PP/$TT.po";
		} else {
			$SRC="$POT/$PP/$TT.pot";
		}
		$URL = $SRC;
		$URL =~ s/$WEBROOT/$KDEPREFIX/;
		$TT =~ s/\.po.*$//;
		$TT =~ s/$POT\/$PP\///g;
		html("<TR><TD><A href=\"$URL\">$TT</A></TD>");
		$statistics = `msgfmt --statistics $SRC -o /dev/null 2>&1`;
		$statistics =~ s/translated messages/Şıddar/;
		$statistics =~ s/untranslated messages/Óşıddar/;
		$statistics =~ s/fuzzy translations/Loğnar/;
		$statistics =~ s/\.//g;
		$statistics =~ s/,//g;

#########################################################################
#
#   <friendly-warning>
#
# Development code.
#   This code is in the middle of being optimized and fixed.
#   Don't fuck with it.
#
#   </friendly-warning>
#   <guru-meditation>
#
#   This code will add persentage hits to the whole thing - so that the translation status
#   will be legible without manually (jikk) reading it.
#
#   </guru-meditation>
#   <humorous-question>
#   
#   Af hverju í andskotanum er allt á ENSKU??
#
#   </humorous-question>
#
####
#		$msg_trans = $statistics;
#		$msg_trans =~ m/(\d+) Şıddar/i; 
#		$msg_trans =~ s/Şıddar//i;
#
#		$msg_fuzzy = $statistics;
#		$msg_fuzzy =~ m/(\d+) Loğnar/i;
#		$msg_fuzzy =~ s/Loğnar//i; 
#
#		$msg_notdone = $statistics;
#		$msg_notdone =~ m/(\d+) Óşıddar/i; 
#		$msg_notdone =~ s/Óşıddar//i;
#		print("$msg_trans, $msg_fuzzy, $msg_notdone\n");
#		exit;
#
#		$all = $msg_trans + $msg_fuzzy + $msg_notdone;
#		$statistics .= " - $all línur alls.";
#
		html("<TD>$statistics</TD>");


	}
	html("</TABLE>");
}
html("</BODY>");
html("</HTML>");
close(HTML);
