summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAndreas Brachold <vdr07@deltab.de>2007-12-20 09:25:40 +0000
committerAndreas Brachold <vdr07@deltab.de>2007-12-20 09:25:40 +0000
commitf608b06dfa841be89942d914d8d80b936b65316d (patch)
tree41ae42071615e218c208aef4b68eca1798cee3db /lib
parent6576ebd54926386b33365573069784bbbb59c90a (diff)
downloadxxv-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.pm22
-rw-r--r--lib/XXV/MODULES/AUTOTIMER.pm22
-rw-r--r--lib/XXV/MODULES/EVENTS.pm3
-rw-r--r--lib/XXV/MODULES/REPORT.pm2
-rw-r--r--lib/XXV/MODULES/TIMERS.pm18
-rw-r--r--lib/XXV/OUTPUT/NEWS/JABBER.pm4
-rw-r--r--lib/XXV/OUTPUT/NEWS/MAIL.pm4
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'};