App-MonM

 view release on metacpan or  search on metacpan

lib/App/MonM/Util.pm  view on Meta::CPAN

    my $s = shift;
    my @words = grep { defined && length } quotewords(qr/\s+|[\,\;]+/, 0, $s);
    return @words;
}
sub getExpireOffset {
    my $time = trim(shift // 0);
    my %mult = (
            's' => 1,
            'm' => 60,
            'h' => 60*60,
            'd' => 60*60*24,
            'M' => 60*60*24*30,
            'y' => 60*60*24*365
        );
    if (!$time || (lc($time) eq 'now')) {
        return 0;
    } elsif ($time =~ /^\d+$/) {
        return $time; # secs
    } elsif ($time=~/^([+-]?(?:\d+|\d*\.\d*))([smhdMy])/) {
        return ($mult{$2} || 1) * $1;
    }
    return $time;
}

lib/App/MonM/Util.pm  view on Meta::CPAN

                "monday"    => "mon",
                "tuesday"   => "tue",
                "wednesday" => "wed",
                "thursday"  => "thu",
                "friday"    => "fri",
                "saturday"  => "sat",
            },
        AT_DEFAULT      => 'Sun-Sat',
        SFT_DEFAULT     => '[00:00-23:59]',
        OFFSET_START    => 0,          # 00:00
        OFFSET_FINISH   => 60*60*24-1, # 23:59
    };

sub new {
    my $class = shift;
    my %args = @_;

    my $self = bless {
            calendar => {}, # { channel_name => [ { weekday_index => [start, finish] } ] }
            added    => {}, # { channel_name => at }
        }, $class;

t/03-timeof.t  view on Meta::CPAN

# This is free software; you can redistribute it and/or modify it
# under the same terms as Perl itself.
#
#########################################################################
use Test::More tests => 5;

use App::MonM::Util qw/getTimeOffset/;

is(getTimeOffset("1h12m24s"), 4344, "1h12m24s");
is(getTimeOffset("-1h12m24s"), -4344, "-1h12m24s");
is(getTimeOffset("24m"), 60*24, "24m");
is(getTimeOffset("-24m"), -60*24, "-24m");
is(getTimeOffset("1h 12m 24s"), 4344, "1h 12m 24s");

1;

__END__



( run in 0.343 second using v1.01-cache-2.11-cpan-7add2cbd662 )