From ed8beafa6468fcc50adc70074ed091d990a2c1f1 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sun, 27 Jun 2010 20:40:47 +0100 Subject: [PATCH] support data/news/name-map --- cgi | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/cgi b/cgi index 79f2b11..4495a87 100755 --- a/cgi +++ b/cgi @@ -140,7 +140,29 @@ foreach my $src (<$R/df/df-*.rrd>) { ]); } -foreach my $src (<$SELF/data/news/*.rrd>) { +our %news_name_map; + +if (!open NM, '<', "$SELF/data/news/name-map") { + die unless $!==&ENOENT; +} else { + while () { + s/^\s*//; s/\s+$//; + next unless m/^[^\#]/; + m/^(\S+)\s+(in|out|\*)\s+(\S+)$/ or die; + if ($2 eq '*') { + $news_name_map{$1,$_}= $3 foreach qw(in out); + } else { + $news_name_map{$1,$2}= $3; + } + } +} + +sub news_name_sortkey { + return join '.', reverse split /\./, $_[0]; +} + +foreach my $src (sort { news_name_sortkey($a) cmp news_name_sortkey($b) } + <$SELF/data/news/*.rrd>) { my $site= $src; $site =~ s,\.rrd$,, or next; $site =~ s,.*/,,; @@ -148,6 +170,9 @@ foreach my $src (<$SELF/data/news/*.rrd>) { my $inout= $1; $site =~ s/^([-.0-9a-z]+)_//; my $us= $1; # all very well but we ignore it + my $newsite= $news_name_map{$site,$inout}; + next if $newsite eq '-'; + $site= $newsite if defined $newsite; graph_of_group("News", $site, $inout, { Slower => 1, -- 2.30.2