diff options
-rw-r--r-- | SiteSummary.pm | 35 | ||||
-rw-r--r-- | debian/changelog | 9 | ||||
-rwxr-xr-x | site-summary | 5 |
3 files changed, 40 insertions, 9 deletions
diff --git a/SiteSummary.pm b/SiteSummary.pm index fefb947..bd3107e 100644 --- a/SiteSummary.pm +++ b/SiteSummary.pm @@ -9,10 +9,11 @@ our $VERSION = 0.01; our @ISA = qw(Exporter); our @EXPORT = qw( for_all_hosts - get_filepath_current + get_filepath_current get_site + get_sitegroup get_sitecontact - get_linux_kernel_ver + get_linux_kernel_ver ); my $pwd = "/var/lib/sitesummary/entries"; # Path to the entries @@ -23,27 +24,43 @@ sub get_filepath_current { } # -# Return the site string +# Return the value string from a file, ignoring comments # -sub get_site { - my $hostid = shift; - my $path = get_filepath_current($hostid, "/siteinfo/site"); - my $site; +sub get_file_string { + my ($hostid, $filename) = @_; + my $path = get_filepath_current($hostid, $filename); + my $string; if (open (FILE, $path)) { while(<FILE>) { chomp; s/\#.+$//; next if (/^\s*$/); - $site = $_; + $string = $_; } close(FILE); - return $site; + return $string; } else { return undef; } } # +# Return the site string +# +sub get_site { + my $hostid = shift; + return get_file_string($hostid, "/siteinfo/site"); +} + +# +# Return the sitegroup string +# +sub get_sitegroup { + my $hostid = shift; + return get_file_string($hostid, "/siteinfo/sitegroup"); +} + +# # Return list with the mail addresses listed in sitecontact. # sub get_sitecontact { diff --git a/debian/changelog b/debian/changelog index 437b66e..6632076 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +sitesummary (0.0.4) UNRELEASED; urgency=low + + * Reduce code duplication in SiteSummary.pm. Add new function + get_sitegroup(). + * Extend site-summary script to also entries per sitegroup within a + site. + + -- Petter Reinholdtsen <pere@debian.org> Sun, 27 Aug 2006 22:13:06 +0200 + sitesummary (0.0.3) terra; urgency=low * Remove temp file when it is processed by the collector. diff --git a/site-summary b/site-summary index 4d0f5e0..8461ef0 100755 --- a/site-summary +++ b/site-summary @@ -6,6 +6,7 @@ use warnings; use SiteSummary; my %sites; +my %sitegroups; for_all_hosts(\&handle_host); @@ -17,6 +18,7 @@ sub handle_host { for my $site (get_site($hostid)) { $site = "" unless defined $site; $sites{$site}++; + $sitegroups{$site}{get_sitegroup($hostid)}++ if get_sitegroup($hostid); } } @@ -24,5 +26,8 @@ sub print_summary { printf(" %-20s %5s\n", "site", "count"); for my $site (sort keys %sites) { printf(" %-20s %5d\n", $site, $sites{$site}); + for my $sitegroup (sort keys %{$sitegroups{$site}}) { + printf(" %-18s %5d\n", $sitegroup, $sitegroups{$site}{$sitegroup}); + } } } |