diff options
| author | Andreas Brachold <vdr07@deltab.de> | 2007-12-20 09:25:40 +0000 |
|---|---|---|
| committer | Andreas Brachold <vdr07@deltab.de> | 2007-12-20 09:25:40 +0000 |
| commit | f608b06dfa841be89942d914d8d80b936b65316d (patch) | |
| tree | 41ae42071615e218c208aef4b68eca1798cee3db /lib | |
| parent | 6576ebd54926386b33365573069784bbbb59c90a (diff) | |
| download | xxv-f608b06dfa841be89942d914d8d80b936b65316d.tar.gz xxv-f608b06dfa841be89942d914d8d80b936b65316d.tar.bz2 | |
* Event: Dump date with local format
* RSS: send with real gm time
* AUTOTIMER: new timer was'nt showed on events
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/Tools.pm | 22 | ||||
| -rw-r--r-- | lib/XXV/MODULES/AUTOTIMER.pm | 22 | ||||
| -rw-r--r-- | lib/XXV/MODULES/EVENTS.pm | 3 | ||||
| -rw-r--r-- | lib/XXV/MODULES/REPORT.pm | 2 | ||||
| -rw-r--r-- | lib/XXV/MODULES/TIMERS.pm | 18 | ||||
| -rw-r--r-- | lib/XXV/OUTPUT/NEWS/JABBER.pm | 4 | ||||
| -rw-r--r-- | lib/XXV/OUTPUT/NEWS/MAIL.pm | 4 |
7 files changed, 50 insertions, 25 deletions
diff --git a/lib/Tools.pm b/lib/Tools.pm index 7d89a31..a588f53 100644 --- a/lib/Tools.pm +++ b/lib/Tools.pm @@ -13,6 +13,7 @@ $Data::Dumper::Indent = 1; use IO::File; use Socket; use Time::HiRes qw( gettimeofday ); +use POSIX qw(strftime); our $DUMPSTACK = 0; our $VERBOSE = 3; @@ -44,27 +45,25 @@ sub datum { # ------------------ my $zeit = shift || time; my $typ = shift || 'voll'; - my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = - localtime($zeit); if(lc($typ) eq 'voll') { - return sprintf('%02d:%02d:%02d %02d.%02d.%04d', - $hour, $min, $sec, $mday, $mon+1, $year+1900); + # full date depends locale e.g. 24.12.2007 12:00:00 or 12/24/2007 ... + return strftime("%x %X", localtime($zeit)); } elsif(lc($typ) eq 'tag') { - return sprintf('%02d.%02d.%04d', - $mday, $mon+1, $year+1900); + # day depends locale e.g. 24.12.2007 or 12/24/2007 + return strftime("%x", localtime($zeit)); } elsif (lc($typ) eq 'int') { # 1901-01-01T00:00+00:00 - return sprintf('%04d-%02d-%02dT%02d:%02d+01:00', - $year+1900, $mon+1, $mday, $hour, $min ); + return strftime("%Y-%m-%dT%H:%M:%S%z", localtime($zeit)); } elsif (lc($typ) eq 'rss') { # 23 Aug 1999 07:00:00 GMT + my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = gmtime($zeit); my @abbr = qw( Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec ); return sprintf('%02d %s %04d %02d:%02d:%02d GMT', $mday, $abbr[$mon], $year+1900, $hour, $min, $sec ); } else { - return sprintf('%02d:%02d:%02d', - $hour, $min, $sec); + # time depends locale, most 07:00:00 + return strftime("%X", localtime($zeit)); } } @@ -143,6 +142,9 @@ sub event { my $msg = shift; my ($package, $filename, $line, $subroutine) = caller(1); + my $module = ''; + $module = (split('::', $package))[-1] + if($package); &{$LOGCALLB}($module, $subroutine, $msg); &_msg(270,$msg, 3); diff --git a/lib/XXV/MODULES/AUTOTIMER.pm b/lib/XXV/MODULES/AUTOTIMER.pm index 2e37235..2cc55a7 100644 --- a/lib/XXV/MODULES/AUTOTIMER.pm +++ b/lib/XXV/MODULES/AUTOTIMER.pm @@ -4,7 +4,6 @@ use strict; use Tools; use Locale::gettext; -use POSIX ":sys_wait_h", qw(strftime); # ------------------ # Name: module @@ -16,7 +15,7 @@ sub module { my $args = { Name => 'AUTOTIMER', Prereq => { - # 'Perl::Module' => 'Description', + 'Date::Manip' => 'date manipulation routines', }, Description => gettext('This module searches for EPG entries with user-defined text and creates new timers.'), Version => (split(/ /, '$Revision$'))[1], @@ -119,14 +118,14 @@ sub module { # "Msg=>text" = logmessage =~ /text/ # "Mod=>text" = modname =~ /text/ SearchForEvent => { - Sub => 'AUTOTIMER', + Mod => 'AUTOTIMER', Msg => 'Save timer', }, # Search for a Match and extract the information # of the TimerId # ... Match => { - TimerId => qr/TimerId\:\s+\"(\d+)\"/s, + TimerId => qr/id\:\s+\"(\d+)\"/s, }, Actions => [ q|sub{ my $args = shift; @@ -136,6 +135,11 @@ sub module { my $autotimer = getDataById($timer->{AutotimerId}, 'AUTOTIMER', 'Id'); my $title = sprintf(gettext("Autotimer('%s') found: %s"), $autotimer->{Search}, $timer->{File}); + + Date_Init("Language=English"); + my $d = ParseDate($timer->{NextStartTime}); + $timer->{NextStartTime} = datum(UnixDate($d,"%s")) if($d); + my $description = sprintf(gettext("On: %s to %s"), $timer->{NextStartTime}, fmttime($timer->{Stop})); @@ -143,7 +147,7 @@ sub module { $description .= sprintf(gettext("Description: %s"), $desc->{description} ) if($desc && $desc->{description}); - main::getModule('REPORT')->news($title, $description, "display", $timer->{eventid}, "interesting"); + main::getModule('REPORT')->news($title, $description, "display", $timer->{eventid}, $event->{Level}); } |, ], @@ -427,11 +431,11 @@ sub _autotimerLookup { [gettext("Channel") , $events->{$Id}->{Channel}], ]; if($events->{$Id}->{vpsstart} and $a->{VPS}) { - push(@$output, [gettext("Start") , strftime("%x %X", localtime($events->{$Id}->{vpsstart}))]); - push(@$output, [gettext("Stop") , strftime("%x %X", localtime($events->{$Id}->{vpsstop}))]); + push(@$output, [gettext("Start") , datum($events->{$Id}->{vpsstart} )]); + push(@$output, [gettext("Stop") , datum($events->{$Id}->{vpsstop} )]); } else { - push(@$output, [gettext("Start") , strftime("%x %X", localtime($events->{$Id}->{starttime}))]); - push(@$output, [gettext("Stop") , strftime("%x %X", localtime($events->{$Id}->{stoptime}))]); + push(@$output, [gettext("Start") , datum($events->{$Id}->{starttime})]); + push(@$output, [gettext("Stop") , datum($events->{$Id}->{stoptime} )]); } push(@$output,[gettext("Description"), $events->{$Id}->{description}]); $console->table($output); diff --git a/lib/XXV/MODULES/EVENTS.pm b/lib/XXV/MODULES/EVENTS.pm index 402774a..47f75f1 100644 --- a/lib/XXV/MODULES/EVENTS.pm +++ b/lib/XXV/MODULES/EVENTS.pm @@ -14,7 +14,8 @@ sub module { my $args = { Name => 'EVENTS', Prereq => { - 'Data::Dumper' => 'stringified perl data structures, suitable for both printing and eval', + 'Data::Dumper' => 'stringified perl data structures, suitable for both printing and eval', + 'Date::Manip' => 'date manipulation routines', }, Description => gettext( "This module manage the events for control and watch the xxv system. diff --git a/lib/XXV/MODULES/REPORT.pm b/lib/XXV/MODULES/REPORT.pm index 3c0030e..a1ac3b1 100644 --- a/lib/XXV/MODULES/REPORT.pm +++ b/lib/XXV/MODULES/REPORT.pm @@ -108,7 +108,7 @@ sub new { main::after(sub{ my $start = main::getStartTime; $self->news( - sprintf(gettext('Restart the xxv system at: %s!'), datum($start,'voll')), + sprintf(gettext('Restart the xxv system at: %s!'), datum($start)), undef, undef, undef, diff --git a/lib/XXV/MODULES/TIMERS.pm b/lib/XXV/MODULES/TIMERS.pm index 3d8fc91..bd663b9 100644 --- a/lib/XXV/MODULES/TIMERS.pm +++ b/lib/XXV/MODULES/TIMERS.pm @@ -137,6 +137,7 @@ sub module { # "Msg=>text" = logmessage =~ /text/ # "Mod=>text" = modname =~ /text/ SearchForEvent => { + Mod => 'TIMERS', Msg => 'New timer', }, # Search for a Match and extract the information @@ -152,6 +153,11 @@ sub module { return if($timer->{AutotimerId}); my $desc = getDataById($timer->{eventid}, 'EPG', 'eventid') if($timer->{eventid}); my $title = sprintf(gettext("New timer found: %s"),$timer->{File}); + + Date_Init("Language=English"); + my $d = ParseDate($timer->{NextStartTime}); + $timer->{NextStartTime} = datum(UnixDate($d,"%s")) if($d); + my $description = sprintf(gettext("On: %s to %s"), $timer->{NextStartTime}, fmttime($timer->{Stop})); @@ -185,6 +191,7 @@ sub module { Descr => gettext('Create event entries if the user has deleted a timer.'), Level => 'interesting', SearchForEvent => { + Mod => 'TIMERS', Msg => 'delt', }, Match => { @@ -196,6 +203,11 @@ sub module { my $timer = getDataById($args->{TimerId}, 'TIMERS', 'Id'); my $title = sprintf(gettext("Timer deleted: %s"),$timer->{File}); my $desc = getDataById($timer->{eventid}, 'EPG', 'eventid') if($timer->{eventid}); + + Date_Init("Language=English"); + my $d = ParseDate($timer->{NextStartTime}); + $timer->{NextStartTime} = datum(UnixDate($d,"%s")) if($d); + my $description = sprintf(gettext("On: %s to %s"), $timer->{NextStartTime}, fmttime($timer->{Stop})); @@ -223,6 +235,7 @@ sub module { Descr => gettext('Create event entries if the user has toggled a timer.'), Level => 'interesting', SearchForEvent => { + Mod => 'TIMERS', Msg => 'modt', }, Match => { @@ -239,6 +252,11 @@ sub module { } else { $title = sprintf(gettext("Timer deactivated: %s"),$timer->{File}); } + + Date_Init("Language=English"); + my $d = ParseDate($timer->{NextStartTime}); + $timer->{NextStartTime} = datum(UnixDate($d,"%s")) if($d); + my $desc = getDataById($timer->{eventid}, 'EPG', 'eventid') if($timer->{eventid}); my $description = sprintf(gettext("On: %s to %s"), $timer->{NextStartTime}, diff --git a/lib/XXV/OUTPUT/NEWS/JABBER.pm b/lib/XXV/OUTPUT/NEWS/JABBER.pm index ca8061e..c343cac 100644 --- a/lib/XXV/OUTPUT/NEWS/JABBER.pm +++ b/lib/XXV/OUTPUT/NEWS/JABBER.pm @@ -268,9 +268,9 @@ sub req { }; if($obj->send($vars)) { - return sprintf('Message is send to %s at %s', $obj->{receiveUser}, datum($vars->{AddDate}, 'voll')); + return sprintf('Message is send to %s at %s', $obj->{receiveUser}, datum($vars->{AddDate})); } else { - return sprintf("Sorry, couldn't send message to %s at %s", $obj->{receiveUser}, datum($vars->{AddDate}, 'voll')); + return sprintf("Sorry, couldn't send message to %s at %s", $obj->{receiveUser}, datum($vars->{AddDate})); } } diff --git a/lib/XXV/OUTPUT/NEWS/MAIL.pm b/lib/XXV/OUTPUT/NEWS/MAIL.pm index ae3a1dd..d92cd3b 100644 --- a/lib/XXV/OUTPUT/NEWS/MAIL.pm +++ b/lib/XXV/OUTPUT/NEWS/MAIL.pm @@ -235,7 +235,7 @@ sub parseHeader { my $vars = { msgnr => $obj->{COUNT}, - date => datum(time, 'voll'), + date => datum(time), anzahl=> $obj->{NEWSCOUNT}, }; @@ -256,7 +256,7 @@ sub parseFooter { my $vars = { usage => main::getModule('RECORDS')->{CapacityMessage}, uptime => main::getModule('STATUS')->uptime, - lastreport => datum($obj->{LastReportTime}, 'voll'), + lastreport => datum($obj->{LastReportTime}), }; my $template = $obj->{TEMPLATES}->{'footer'}; |
