From 8da8362e1ac913a57d172fa98f9c9cf6f660ce30 Mon Sep 17 00:00:00 2001 From: garnier-quentin Date: Fri, 18 Sep 2015 15:44:17 +0200 Subject: [PATCH] + Enhance custom mode load: if there is only one custommode we load it (simple) --- centreon/plugins/script_custom.pm | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/centreon/plugins/script_custom.pm b/centreon/plugins/script_custom.pm index 4ca7765f0..a40fc933f 100644 --- a/centreon/plugins/script_custom.pm +++ b/centreon/plugins/script_custom.pm @@ -66,6 +66,15 @@ sub new { return $self; } +sub load_custom_mode { + my ($self, %options) = @_; + + $self->is_custommode(custommode => $self->{custommode_name}); + centreon::plugins::misc::mymodule_load(output => $self->{output}, module => $self->{custom_modes}{$self->{custommode_name}}, + error_msg => "Cannot load module --custommode."); + $self->{custommode_current} = $self->{custom_modes}{$self->{custommode_name}}->new(options => $self->{options}, output => $self->{output}, mode => $self->{custommode_name}); +} + sub init { my ($self, %options) = @_; # $options{version} = string version @@ -92,10 +101,10 @@ sub init { $self->{options}->add_help(package => 'centreon::plugins::output', sections => 'OUTPUT OPTIONS'); if (defined($self->{custommode_name}) && $self->{custommode_name} ne '') { - $self->is_custommode(custommode => $self->{custommode_name}); - centreon::plugins::misc::mymodule_load(output => $self->{output}, module => $self->{custom_modes}{$self->{custommode_name}}, - error_msg => "Cannot load module --custommode."); - $self->{custommode_current} = $self->{custom_modes}{$self->{custommode_name}}->new(options => $self->{options}, output => $self->{output}, mode => $self->{custommode_name}); + $self->load_custom_mode(); + } elsif (scalar(%{$self->{custom_modes}}) == 1) { + $self->{custommode_name} = keys(%{$self->{custom_modes}})[0]; + $self->load_custom_mode(); } else { $self->{output}->add_option_msg(short_msg => "Need to specify '--custommode'."); $self->{output}->option_exit();