diff options
-rw-r--r-- | Changelog | 2 | ||||
-rwxr-xr-x | bin/icli | 35 |
2 files changed, 31 insertions, 6 deletions
@@ -6,7 +6,7 @@ git HEAD -aa/ -a acknowledge, -r/--recheck with -ar / -a recheck and -u/--force-recheck wiht -aR / -a force_recheck * add -ad / -a downtime option to schedule host/service downtimes - * Also show service downtimes when using --list downtimes + * Also show service downtimes when using -ld, improve its output icli 0.47 - Thu May 29 2014 @@ -95,6 +95,12 @@ sub pretty_duration { my $now = time(); my $dif = $now - $since; + return pretty_duration_abs($dif); +} + +sub pretty_duration_abs { + my ($dif) = @_; + return sprintf( '%dd %dh %dm %ds', int( $dif / ( 24 * 3600 ) ), int( ( $dif / 3600 ) % 24 ), @@ -619,15 +625,19 @@ sub display_downtime { pretty_date( $d->{'entry_time'} ), $d->{'author'}, ); } - if ( $v >= 2 ) { - printf( ' %-30.30s', $d->{'comment'} ); - } - printf( ' %s %s', + printf( + ' %-20.20s %-20.20s', pretty_date( $d->{'start_time'} ), pretty_date( $d->{'end_time'} ), ); if ( $v >= 2 ) { - print( $d->{'fixed'} ? ' Fixed' : ' Flexi' ); + printf( '%-17.17s', + $d->{'fixed'} + ? ' Fixed' + : ' ' . pretty_duration_abs( $d->{duration} ) ); + } + if ( $v >= 2 ) { + print( $d->{comment} ); } print "\n"; @@ -1111,10 +1121,25 @@ elsif ( $list_type eq 'q' ) { } elsif ( $list_type eq 'd' ) { say "Host downtimes:"; + if ( $verbosity == 1 ) { + printf( "%-25.25s %-20.20s %-20.20s\n", 'Host', 'start', 'stop' ); + } + elsif ( $verbosity == 2 ) { + printf( "%-25.25s %-20.20s %-20.20s %-17.17s %s\n", + 'Host', 'start', 'stop', 'duration', 'comment' ); + } foreach my $downtime ( @{ $data->{hostdowntimes} } ) { display_downtime($downtime); } say "\nService downtimes:"; + if ( $verbosity == 1 ) { + printf( "%-25.25s %-25.25s %-20.20s %-20.20s\n", + 'Host', 'Service', 'start', 'stop' ); + } + elsif ( $verbosity == 2 ) { + printf( "%-25.25s %-25.25s %-20.20s %-20.20s %-17.17s %s\n", + 'Host', 'Service', 'start', 'stop', 'duration', 'comment' ); + } foreach my $downtime ( @{ $data->{servicedowntimes} } ) { display_downtime($downtime); } |