mirror of
https://github.com/monitoring-plugins/monitoring-plugins.git
synced 2026-04-23 07:07:00 -04:00
git-notify: New subroutine for column alignment
Most notifications include an ASCII "table" with two columns. The formatting of these columns is now handled by the new format_table() subroutine, so that the alignment can easily be changed in the future.
This commit is contained in:
parent
db63fbfa03
commit
56c46014d0
1 changed files with 32 additions and 5 deletions
|
|
@ -102,6 +102,33 @@ sub xml_escape($)
|
|||
return $str;
|
||||
}
|
||||
|
||||
# right-justify the left column of "left: right" elements, omit undefined elements
|
||||
sub format_table(@)
|
||||
{
|
||||
my @lines = @_;
|
||||
my @table;
|
||||
my $max = 0;
|
||||
|
||||
foreach my $line (@lines)
|
||||
{
|
||||
next if not defined $line;
|
||||
my $pos = index($line, ":");
|
||||
|
||||
$max = $pos if $pos > $max;
|
||||
}
|
||||
|
||||
foreach my $line (@lines)
|
||||
{
|
||||
next if not defined $line;
|
||||
my ($left, $right) = split(/: */, $line, 2);
|
||||
|
||||
push @table, (defined $left and defined $right)
|
||||
? sprintf("%*s: %s", $max + 1, $left, $right)
|
||||
: $line;
|
||||
}
|
||||
return @table;
|
||||
}
|
||||
|
||||
# format an integer date + timezone as string
|
||||
# algorithm taken from git's date.c
|
||||
sub format_date($$)
|
||||
|
|
@ -236,15 +263,15 @@ sub send_commit_notice($$)
|
|||
|
||||
return if length($diff) == 0;
|
||||
|
||||
push @notice,
|
||||
push @notice, format_table(
|
||||
"Module: $repos_name",
|
||||
"Branch: $ref",
|
||||
"Commit: $obj",
|
||||
$gitweb_url ? "URL: $gitweb_url/?a=commit;h=$obj\n" : "",
|
||||
"Author: " . $info{"author"},
|
||||
"Date: " . format_date($info{"author_date"},$info{"author_tz"}),
|
||||
$gitweb_url ? "URL: $gitweb_url/?a=commit;h=$obj" : undef),
|
||||
"Author:" . $info{"author"},
|
||||
"Date:" . format_date($info{"author_date"},$info{"author_tz"}),
|
||||
"",
|
||||
join "\n", @{$info{"log"}},
|
||||
@{$info{"log"}},
|
||||
"",
|
||||
"---",
|
||||
"";
|
||||
|
|
|
|||
Loading…
Reference in a new issue