r697 - in vdr/vdr-xxv/trunk/debian: . patches
Tobias Grimm
pkg-vdr-dvb-changes@lists.alioth.debian.org
Fri, 24 Jun 2005 23:16:28 +0000
Author: tiber-guest
Date: 2005-06-24 23:16:27 +0000 (Fri, 24 Jun 2005)
New Revision: 697
Added:
vdr/vdr-xxv/trunk/debian/patches/99_records_vdr-1.3.26.dpatch
Modified:
vdr/vdr-xxv/trunk/debian/changelog
vdr/vdr-xxv/trunk/debian/patches/00list
Log:
Fixed bug with vdr 1.3.26
Modified: vdr/vdr-xxv/trunk/debian/changelog
===================================================================
--- vdr/vdr-xxv/trunk/debian/changelog 2005-06-23 20:57:05 UTC (rev 696)
+++ vdr/vdr-xxv/trunk/debian/changelog 2005-06-24 23:16:27 UTC (rev 697)
@@ -1,3 +1,9 @@
+vdr-xxv (0.42-2) unstable; urgency=low
+
+ * Added patch from Hulk, which fixes a bug with recordings using vdr 1.3.26
+
+ -- Debian VDR Team <pkg-vdr-dvb-devel@lists.alioth.debian.org> Sat, 25 Jun 2005 01:16:08 +0200
+
vdr-xxv (0.42-1) unstable; urgency=low
* Thomas Schmidt <tschmidt@debian.org>
Modified: vdr/vdr-xxv/trunk/debian/patches/00list
===================================================================
--- vdr/vdr-xxv/trunk/debian/patches/00list 2005-06-23 20:57:05 UTC (rev 696)
+++ vdr/vdr-xxv/trunk/debian/patches/00list 2005-06-24 23:16:27 UTC (rev 697)
@@ -1,3 +1,5 @@
01_libpath
02_secure-grab
04_mplayer-log
+
+99_records_vdr-1.3.26
Added: vdr/vdr-xxv/trunk/debian/patches/99_records_vdr-1.3.26.dpatch
===================================================================
--- vdr/vdr-xxv/trunk/debian/patches/99_records_vdr-1.3.26.dpatch 2005-06-23 20:57:05 UTC (rev 696)
+++ vdr/vdr-xxv/trunk/debian/patches/99_records_vdr-1.3.26.dpatch 2005-06-24 23:16:27 UTC (rev 697)
@@ -0,0 +1,179 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 99_records_vdr-1.3.26.dpatch by Hulk
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Fixes bug with recordings on vdr 1.3.26
+
+@DPATCH@
+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 @@
+ <body class="frame">
+
+-<?% trash = param.usage.shift %?>
+-
+ <div id="body">
+ <?% BLOCK time # Show german dateformat without seconds%?>
+ <?% ts = t.match('(\d+)-(\d+)-(\d+) (\d+):(\d+):(\d+)') %?>
+@@ -59,9 +57,6 @@
+ </td>
+ </tr>
+ <?% END %?>
+- <tr>
+- <td class="bottom180"></td>
+- </tr>
+ </table>
+ </td>
+
+@@ -71,9 +66,7 @@
+ <?% END %?>
+ <h1><?% gettext("Stored recordings") %?>
+ <?% IF search.defined %?> : "<?% search %?>" <?% END %?>
+- <?% param.usage.first.5 %?>
+- <?% gettext('over') %?> <a href="?cmd=sf"><?% param.usage.first.0 %?></a>
+- <?% gettext("used") %?>
++ <small>(<?% param.usage %?>)</small>
+ </h1>
+ <?% IF data.size %?>
+ <?% fields = data.shift %?>
+@@ -90,12 +83,12 @@
+ <?% IF browse.defined && browse != "" %?>
+ <?% directorys = browse.split('~') %?>
+ <?% IF directorys.size <= 1 %?>
+- <a class="sidetext" title="<?% gettext("Back") %?>" href="?cmd=rlist">[^]</a>
++ <a title="<?% gettext("Back") %?>" href="?cmd=rlist">[^]</a>
+ <?% ELSE %?>
+ <?% t = directorys.pop %?>
+ <?% directory = directorys.join('~') %?>
+- <a class="sidetext" title="<?% gettext("Back") %?>" href="?cmd=rlist">[^]</a>
+- <a class="sidetext" title="<?% gettext("Back") %?>" href="?cmd=rlist&data=<?% url( directory ) %?>">[<<]</a>
++ <a title="<?% gettext("Back") %?>" href="?cmd=rlist">[^]</a>
++ <a title="<?% gettext("Back") %?>" href="?cmd=rlist&data=<?% url( directory ) %?>">[<<]</a>
+ <?% END %?>
+ <br />
+ <?% 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(@_) },
+ };