CTM

 view release on metacpan or  search on metacpan

ex/get_bim_services.pl  view on Meta::CPAN

use strict;

use Getopt::Long;
use File::Basename qw/basename/;
use Try::Tiny;
use JSON;
use CTM::ReadEM 0.181, qw/:all/;

#----> ** fonctions **

sub usage() {
    return 'Aide : perldoc ' . basename($0);
}

#----> ** section principale **

my ($err, $session);

my %opts = (
    x => undef,
    h => undef,

lib/CTM/Base.pm  view on Meta::CPAN

    unlock_value
/;

#----> ** variables de classe **

our $VERSION = 0.181;
our $AUTOLOAD;

#----> ** fonctions privees (mais accessibles a l'utilisateur pour celles qui ne sont pas des references) **

sub _myErrorMessage($$) {
    my ($subroutine, $message) = @_;
    return "'" . $subroutine . "()' : " . $message;
}

sub _myUsageMessage($$) {
    my ($namespace, $properties) = @_;
    return 'USAGE : ' . (split /::/, $namespace)[-1] . '(' . $properties . ').';
}

#----> ** methodes protegees **

sub _invokeVerbose {
    my ($self, $subroutine, $message) = @_;
    if (caller->isa(__PACKAGE__)) {
        printf STDERR "VERBOSE - '%s()' : %s", $subroutine, $message if ($self->{+_verboseObjProperty});

lib/CTM/ReadEM.pm  view on Meta::CPAN


our $VERSION = 0.181;

my %_emSessionsState = (
    CTM::Base::_nbSessionsInstancedClassProperty => 0,
    CTM::Base::_nbSessionsConnectedClassProperty => 0
);

#----> ** fonctions privees (mais accessibles a l'utilisateur pour celles qui ne sont pas des references) **

sub _calculStartEndDayTimeInPosixTimestamp($$) {
    my ($time, $ctmDailyTime) = @_;
    if ($ctmDailyTime =~ /^(\+|\-)\d{4}$/) {
        my ($ctmDailyHour, $ctmDailyMin) = unpack '(a2)*', substr $ctmDailyTime, 1, 4;
        my ($minNow, $hoursNow, $dayNow, $monthNow, $yearNow) = split /\s+/, strftime('%M %H %d %m %Y', localtime $time);
        my ($previousDay, $previousDayMonth, $previousDayYear) = split /\s+/, strftime('%d %m %Y', localtime $time - 86400);
        my ($nextDay, $nextDayMonth, $nextDayYear) = split /\s+/, strftime('%d %m %Y', localtime $time + 86400);
        my %time;
        if ($hoursNow >= $ctmDailyHour && $minNow >= $ctmDailyMin) {
            $time{start} = Date_to_Time($yearNow, $monthNow, $dayNow, $ctmDailyHour, $ctmDailyMin, 00);
            $time{end} = Date_to_Time($nextDayYear, $nextDayMonth, $nextDay, $ctmDailyHour, $ctmDailyMin, 00);

lib/CTM/ReadEM.pm  view on Meta::CPAN


        } else {
            return 0, 1;
        }
    }
    return 0, 0;
}

#----> ** fonctions publiques **

sub getStatusColorForService($) {
    my $statusTo = shift;
    $statusTo = $statusTo->{status_to} if (ref $statusTo eq 'HASH');
    if (defined $statusTo && $statusTo =~ /^\d+$/) {
        for ($statusTo) {
            $_ == 4 && return 'OK';
            $_ == 8 && return 'Completed OK';
            ($_ >= 16 && $_ < 128) && return 'Error';
            ($_ >= 128 && $_ < 256) && return 'Warning';
            ($_ >= 256) && return 'Completed Late';
        }
    }
    return 0;
}

sub getSeverityForAlarms($) {
    my $severity = shift;
    $severity = $severity->{severity} if (ref $severity eq 'HASH');
    if (defined $severity) {
        for ($severity) {
            $_ eq 'R' && return 'Regular';
            $_ eq 'U' && return 'Urgent';
            $_ eq 'V' && return 'Very Urgent';
        }
    }
    return 0;
}

sub getSeverityForExceptionAlerts($) {
    my $xSeverity = shift;
    $xSeverity = $xSeverity->{xseverity} if (ref $xSeverity eq 'HASH');
    if (defined $xSeverity && $xSeverity =~ /^\d+$/) {
        for ($xSeverity) {
            $_ == 3 && return 'Warning';
            $_ == 2 && return 'Error';
            $_ == 1 && return 'Severe';
        }
    }
    return 0;
}

sub getExprForStatusColorForService($) {
    my ($status, $subName) = (shift, (caller 0)[3]);
    croak(CTM::Base::_myErrorMessage($subName, CTM::Base::_myUsageMessage($subName, '$definedStatus'))) unless (defined $status);
    for ($status) {
        /^OK$/i && return sub {
            shift == 4
        };
        /^Completed OK$/i && return sub {
            shift == 8
        };
        /^Error$/i && return sub {

lib/CTM/ReadEM.pm  view on Meta::CPAN

        };
        /^Completed Late$/i && return sub {
            shift > 256
        };
    }
    return sub {
        shift =~ //
    };
}

sub getExprForSeverityForAlarms($) {
    my ($severity, $subName) = (shift, (caller 0)[3]);
    croak(CTM::Base::_myErrorMessage($subName, CTM::Base::_myUsageMessage($subName, '$definedSeverity'))) unless (defined $severity);
    for ($severity) {
        /^Regular$/i && return sub {
            shift eq 'R'
        };
        /^Urgent$/i && return sub {
            shift eq 'U'
        };
        /^Very Urgent$/i && return sub {
            shift eq 'V'
        };
    }
    return sub {
        shift =~ //
    };
}

sub getExprForSeverityForExceptionAlerts($) {
    my ($severity, $subName) = (shift, (caller 0)[3]);
    croak(CTM::Base::_myErrorMessage($subName, CTM::Base::_myUsageMessage($subName, '$definedSeverity'))) unless (defined $severity);
    for ($severity) {
        /^Warning$/i && return sub {
            shift == 3
        };
        /^Error$/i  && return sub {
            shift == 2
        };
        /^Severe$/i  && return sub {



( run in 0.341 second using v1.01-cache-2.11-cpan-65fba6d93b7 )