diff -Nur xxv-0.42.org/html/rlist.tmpl xxv-0.42/html/rlist.tmpl
--- xxv-0.42.org/html/rlist.tmpl 2005-05-30 10:51:41.000000000 +0200
+++ xxv-0.42/html/rlist.tmpl 2005-06-17 20:13:32.000000000 +0200
@@ -1,7 +1,5 @@
-% trash = param.usage.shift %?>
-
% BLOCK time # Show german dateformat without seconds%?>
% ts = t.match('(\d+)-(\d+)-(\d+) (\d+):(\d+):(\d+)') %?>
@@ -59,9 +57,6 @@
% END %?>
-
- |
-
@@ -71,9 +66,7 @@
% END %?>
% gettext("Stored recordings") %?>
% IF search.defined %?> : "% search %?>" % END %?>
- % param.usage.first.5 %?>
- % gettext('over') %?> % param.usage.first.0 %?>
- % gettext("used") %?>
+ (% param.usage %?>)
% IF data.size %?>
% fields = data.shift %?>
@@ -90,12 +83,12 @@
% IF browse.defined && browse != "" %?>
% directorys = browse.split('~') %?>
% IF directorys.size <= 1 %?>
-
" href="?cmd=rlist">[^]
+
" href="?cmd=rlist">[^]
% ELSE %?>
% t = directorys.pop %?>
% directory = directorys.join('~') %?>
-
" href="?cmd=rlist">[^]
-
" href="?cmd=rlist&data=% url( directory ) %?>">[<<]
+
" href="?cmd=rlist">[^]
+
" href="?cmd=rlist&data=% url( directory ) %?>">[<<]
% END %?>
% END %?>
diff -Nur xxv-0.42.org/lib/XXV/MODULES/RECORDS.pm xxv-0.42/lib/XXV/MODULES/RECORDS.pm
--- xxv-0.42.org/lib/XXV/MODULES/RECORDS.pm 2005-06-06 18:34:59.000000000 +0200
+++ xxv-0.42/lib/XXV/MODULES/RECORDS.pm 2005-06-17 20:13:24.000000000 +0200
@@ -236,14 +236,29 @@
# Delete old Records
$obj->{dbh}->do('DELETE FROM RECORDS');
+ # Get state from used harddrive (/video)
+ my $stat = $obj->{svdrp}->command('stat disk');
+ if($stat->[1] and $stat->[1] =~ /^250/s) {
+ #250 473807MB 98028MB 79%
+ my ($total, $free, $percent)
+ = $stat->[1] =~ /^250[\-|\s](\S+)\s+(\S+)\s+(\S+)/s;
+
+ $obj->{usage} = sprintf(gettext("Used %s, Total %s, Free %s"),$percent,$total, $free);
+
+ } else {
+ error("Can't get disc state : ".join("\n", @$stat));
+ $obj->{usage} = gettext("Unknown disc capacity!");
+ }
+
# Records einlesen
my $erg = $obj->{svdrp}->command('lstr');
my @merkIds;
foreach my $record (@$erg) {
- if(my $anahash = $obj->analyze($record)) {
+ next if($record =~ /^22/);
+ my $anahash = $obj->analyze($record);
+ if(ref $anahash eq 'HASH') {
push(@merkIds, $anahash->{EventId});
-
++$c
if($obj->insert($anahash));
}
@@ -317,21 +332,31 @@
# ------------------
my $obj = shift || return error ('No Object!' );
my $record = shift || return;
- my ($id, $day, $month, $hour, $minute, $state, $duration, $title);
+ my ($id, $date, $hour, $minute, $state, $duration, $title);
+ my ($day,$month,$year);
if($record =~ /\s+\d+´\s+/) { # VDR is patched with recording length patch
# 250-1 01.11 15:14* 50´ Discovery~Die Rose von Kerrymore Spielfilm D/2000
- ($id, $day, $month, $hour, $minute, $state, $duration, $title)
- = $record =~ /^250[\-|\s](\d+)\s+(\d+)\.(\d+)\s+(\d+)\:(\d+)(.?)\s*(\d*).*?\s+(.+)/si;
+ ($id, $date, $hour, $minute, $state, $duration, $title)
+ = $record =~ /^250[\-|\s](\d+)\s+([\d|\.]+)\s+(\d+)\:(\d+)(.?)\s*(\d*).*?\s+(.+)/si;
} else { # Vanilla VDR
# 250-1 01.11 15:14* Discovery~Die Rose von Kerrymore Spielfilm D/2000
- ($id, $day, $month, $hour, $minute, $state, $title)
- = $record =~ /^250[\-|\s](\d+)\s+(\d+)\.(\d+)\s+(\d+)\:(\d+)(.?).*?\s+(.+)/si;
+ ($id, $date, $hour, $minute, $state, $title)
+ = $record =~ /^250[\-|\s](\d+)\s+([\d|\.]+)\s+(\d+)\:(\d+)(.?).*?\s+(.+)/si;
+ }
+
+ return error("Can't analyze record : ".$record)
+ unless($id);
+
+ # Split date
+ if($date =~ /^(\d+)\.(\d+)$/) { # on DD.MM before 1.3.26
+ ($day,$month) = $date =~ /^(\d+)\.(\d+)$/;
+ } else { # on DD.MM.YY on 1.3.26
+ ($day,$month,$year) = $date =~ /^(\d+)\.(\d+)\.(\d+)$/;
}
- return unless($id);
my $info = $obj->videoInfo($day, $month, $hour, $minute, $title)
- or return error("Can not find recording for Id $id!");
+ or return warn("Can not find recording for Id $id!");
return unless(ref $info eq 'HASH');
my @t = split('~', $title);
@@ -342,8 +367,12 @@
$title = join('~',@t);
}
- # XXX: Noch werden nicht alle Records korrekt erkannt
- my $year = ($info->{mtime}->[5] || 105) + 1900;
+ $year = ($info->{mtime}->[5] || 2005)
+ if(!defined $year);
+ $year += 100
+ if($year < 70); # Adjust year, 0-69 => 100-169 (2000-2069)
+ $year += 1900
+ if($year < 1900); # Adjust year, 70-99 => 1977-1999 ... 2000-2069
my $start = timelocal(0,$minute,$hour,$day,$month-1, $year);
my $dur = ($duration) ? $duration : (exists $info->{duration}) ? $info->{duration} : 0;
my $event = $obj->SearchEpgId( $start, $dur, $title, $subtitle );
@@ -393,7 +422,7 @@
my $obj = shift || return error ('No object!' );
my $day = shift || return error ('No day!' );
my $month = shift || return error ('No month!' );
- my $hour = shift || return error ('No hour!' );
+ my $hour = shift || return error ('No hour!' );
my $minute = shift || return error ('No minute!' );
my $title = shift || return error ('No title!' );
@@ -716,11 +745,8 @@
my $erg = $obj->{dbh}->selectall_arrayref($sql);
unshift(@$erg, $fields);
- # Usage
- my $mod = main::getModule('STATUS');
-
my $param = {
- usage => $mod->videoMounts($obj->{videodir}),
+ usage => $obj->{usage},
previewcommand => $obj->{previewcommand},
getPreview => sub{ return $obj->getPreviewFiles(@_) },
};
@@ -759,11 +785,8 @@
my $erg = $obj->{dbh}->selectall_arrayref($sql);
unshift(@$erg, $fields);
- # Usage
- my $mod = main::getModule('STATUS');
-
my $param = {
- usage => $mod->videoMounts($obj->{videodir}),
+ usage => $obj->{usage},
previewcommand => $obj->{previewcommand},
getPreview => sub{ return $obj->getPreviewFiles(@_) },
};