Vdradmin-initial-lookup-patch
From VDR Wiki
(Difference between revisions)
(→Patch: patch for vdradmin-am) |
(small bugfix) |
||
| Line 152: | Line 152: | ||
--- vdradmin-am-3.4.4/vdradmind.pl | --- vdradmin-am-3.4.4/vdradmind.pl | ||
+++ vdradmin-am-3.4.4-biglist/vdradmind.pl | +++ vdradmin-am-3.4.4-biglist/vdradmind.pl | ||
| - | @@ - | + | @@ -2522,6 +2522,8 @@ |
my $last_day = 0; | my $last_day = 0; | ||
my $day = $current_day; | my $day = $current_day; | ||
| Line 161: | Line 161: | ||
# | # | ||
my $vdr_id; | my $vdr_id; | ||
| - | @@ - | + | @@ -2539,7 +2541,8 @@ |
} | } | ||
| Line 171: | Line 171: | ||
name => $channel->{name}, | name => $channel->{name}, | ||
vdr_id => $channel->{vdr_id}, | vdr_id => $channel->{vdr_id}, | ||
| - | @@ - | + | @@ -2608,8 +2611,13 @@ |
# | # | ||
| Line 186: | Line 186: | ||
url => $MyURL, | url => $MyURL, | ||
loop => \@show, | loop => \@show, | ||
| - | @@ - | + | @@ -3800,6 +3808,9 @@ |
return if(UptoDate()); | return if(UptoDate()); | ||
my $time = $q->param("time"); | my $time = $q->param("time"); | ||
| Line 196: | Line 196: | ||
# zeitpunkt bestimmen | # zeitpunkt bestimmen | ||
my $event_time; | my $event_time; | ||
| - | @@ - | + | @@ -3907,7 +3918,9 @@ |
$displaysubtitle =~ s/\|/<br \/>\n/g; | $displaysubtitle =~ s/\|/<br \/>\n/g; | ||
} | } | ||
| Line 207: | Line 207: | ||
longdate => my_strftime("%A, %x", $event->{start}), | longdate => my_strftime("%A, %x", $event->{start}), | ||
start => my_strftime("%H:%M", $event->{start}), | start => my_strftime("%H:%M", $event->{start}), | ||
| - | @@ - | + | @@ -3927,6 +3940,7 @@ |
anchor => "id" . $event->{event_id} | anchor => "id" . $event->{event_id} | ||
}); | }); | ||
| Line 215: | Line 215: | ||
} | } | ||
| - | @@ - | + | @@ -3947,12 +3961,17 @@ |
} | } | ||
| Line 228: | Line 228: | ||
usercss => $UserCSS, | usercss => $UserCSS, | ||
rows => \@shows, | rows => \@shows, | ||
| - | + | now => strftime("%H:%M", localtime($event_time)), | |
| - | + | - title => $search ? gettext("Suitable matches for:") . " " . $search : strftime("%H:%M", localtime($event_time)) . " " . gettext("o'clock"), | |
| - | + | + title => $search ? gettext("Suitable matches for:") . " " . $search : strftime("%H:%M", localtime($event_time)) . " " . gettext("o'clock") . " " . $switcher, | |
| - | + | ||
nowurl => $MyURL . "?aktion=prog_summary", | nowurl => $MyURL . "?aktion=prog_summary", | ||
url => $MyURL | url => $MyURL | ||
| + | }; | ||
| + | |||
</pre> | </pre> | ||
Revision as of 14:09, 22 May 2006
Contents |
Description
When using the big summary pages of VDRadmin on a big channels.conf list, loading takes a while and it needs quite some resources. This patch enables categorizing the channels by initial letters.
Hardware requirements
Software requirements
- patch
- vdradmin
Installation
You can install it with
cd $SOURCEDIR/vdradmin patch -p 1 < /path/to/patch
Note, VDRadmin has to be reinstalled now.
Problems
Patch
Version for vdradmin:
diff -Nur vdradmin-0.97-am3.4.2/debian/vdradmin/usr/share/vdradmin/template/default/prog_summary.html vdradmin-0.97-am3.4.2-biglist2/debian/vdradmin/usr/share/vdradmin/template/default/prog_summary.html
--- vdradmin-0.97-am3.4.2/debian/vdradmin/usr/share/vdradmin/template/default/prog_summary.html
+++ vdradmin-0.97-am3.4.2-biglist2/debian/vdradmin/usr/share/vdradmin/template/default/prog_summary.html
@@ -18,7 +18,7 @@
<tr>
<td class="col_left"></td>
<td class="col_title">
- <h1><tmpl_var now> <%! o'clock !%></h1>
+ <h1><tmpl_var now><%! !%></h1>
</td>
<td class="col_other">
<%! What's on: !%> <a href="<tmpl_var nowurl>"><%! now !%></a> |<%! at: !%>
diff -Nur vdradmin-0.97-am3.4.2/template/default/prog_summary.html vdradmin-0.97-am3.4.2-biglist2/template/default/prog_summary.html
--- vdradmin-0.97-am3.4.2/template/default/prog_summary.html
+++ vdradmin-0.97-am3.4.2-biglist2/template/default/prog_summary.html
@@ -18,7 +18,7 @@
<tr>
<td class="col_left"></td>
<td class="col_title">
- <h1><tmpl_var now> <%! o'clock !%></h1>
+ <h1><tmpl_var now></h1>
</td>
<td class="col_other">
<%! What's on: !%> <a href="<tmpl_var nowurl>"><%! now !%></a> |<%! at: !%>
diff -Nur vdradmin-0.97-am3.4.2/vdradmind.pl vdradmin-0.97-am3.4.2-biglist2/vdradmind.pl
--- vdradmin-0.97-am3.4.2/vdradmind.pl
+++ vdradmin-0.97-am3.4.2-biglist2/vdradmind.pl
@@ -2418,6 +2418,8 @@
my $last_day = 0;
my $day = $current_day;
$day = $q->param("day") if ($q->param("day"));
+ my $prefix = 'a';
+ $prefix = $q->param("prefix") if ($q->param("prefix"));
#
my $vdr_id;
@@ -2434,7 +2436,8 @@
}
# skip channels without EPG data
- if(ChannelHasEPG($channel->{vdr_id})) {
+ if(ChannelHasEPG($channel->{vdr_id})
+ &&$channel->{name}=~/^$prefix/i) {
push(@channel, {
name => $channel->{name},
vdr_id => $channel->{vdr_id},
@@ -2504,8 +2507,13 @@
#
my($template) = TemplateNew("prog_list2.html");
+ my $switcher="<a href='vdradmin.pl?aktion=prog_list2&prefix=%5B%5Ea%2Dz%5D'>#</a> ";
+ foreach(('a','b','c','d','e','f','g','h','i','j','k','l','m',
+ 'n','o','p','q','r','s','t','u','v','w','x','y','z')) {
+ $switcher.="<a href='vdradmin.pl?aktion=prog_list2&prefix=$_'>$_</a> ";
+ }
my $vars = {
- title => $day == $current_day ? gettext("Playing Today") : ($day == $current_day + 1 ? gettext("Playing Tomorrow") : sprintf(gettext("Playing on the %d."), $day)),
+ title => ($day == $current_day ? gettext("Playing Today") : ($day == $current_day + 1 ? gettext("Playing Tomorrow") : sprintf(gettext("Playing on the %d."), $day)))." $switcher",
usercss => $UserCSS,
url => $MyURL,
loop => \@show,
@@ -3686,6 +3694,9 @@
return if(UptoDate());
my $time = $q->param("time");
my $search = $q->param("search");
+ my $prefix = 'a';
+ $prefix = '' if ($q->param("search"));
+ $prefix = $q->param("prefix") if ($q->param("prefix"));
# zeitpunkt bestimmen
my $event_time;
@@ -3762,7 +3773,9 @@
$displaytitle =~ s/\|/<br \/>\n/g;
$displaysubtitle =~ s/\n/<br \/>\n/g;
$displaysubtitle =~ s/\|/<br \/>\n/g;
- push(@show, {
+ if ($event->{channel_name}=~/^$prefix/i)
+ {
+ push(@show, {
date => my_strftime("%x", $event->{start}),
longdate => my_strftime("%A, %x", $event->{start}),
start => my_strftime("%H:%M", $event->{start}),
@@ -3782,6 +3795,7 @@
anchor => "id" . $event->{event_id}
});
last if(!$search);
+ }
}
}
@@ -3802,11 +3816,17 @@
}
#
+ my $switcher="<a href='vdradmin.pl?aktion=prog_list2&prefix=%5B%5Ea%2Dz%5D'>#</a> ";
+ foreach(('a','b','c','d','e','f','g','h','i','j','k','l','m',
+ 'n','o','p','q','r','s','t','u','v','w','x','y','z')) {
+ $switcher.="<a href='vdradmin.pl?aktion=prog_summary&prefix=$_'>$_</a> ";
+ }
my $template = TemplateNew("prog_summary.html");
my $vars = {
usercss => $UserCSS,
rows => \@shows,
- now => strftime("%H:%M", localtime($event_time)),
+ now => strftime("%H:%M", localtime($event_time))
+ ." o'clock $switcher",
nowurl => $MyURL . "?aktion=prog_summary",
url => $MyURL
};
Version for vdradmin-am:
diff -Nur vdradmin-am-3.4.4/template/default/prog_summary.html vdradmin-am-3.4.4-biglist/template/default/prog_summary.html
--- vdradmin-am-3.4.4/template/default/prog_summary.html
+++ vdradmin-am-3.4.4-biglist/template/default/prog_summary.html
@@ -23,7 +23,7 @@
<td class="col_other">
<%! What's on: !%> <a href="<tmpl_var nowurl>"><%! now !%></a> |<%! at: !%>
<input type="text" name="time" size="5" value="<tmpl_var now>" />
- <%! o'clock !%>
+
</td>
<td class="col_right"></td>
</tr>
diff -Nur vdradmin-am-3.4.4/vdradmind.pl vdradmin-am-3.4.4-biglist/vdradmind.pl
--- vdradmin-am-3.4.4/vdradmind.pl
+++ vdradmin-am-3.4.4-biglist/vdradmind.pl
@@ -2522,6 +2522,8 @@
my $last_day = 0;
my $day = $current_day;
$day = $q->param("day") if ($q->param("day"));
+ my $prefix = 'a';
+ $prefix = $q->param("prefix") if ($q->param("prefix"));
#
my $vdr_id;
@@ -2539,7 +2541,8 @@
}
# skip channels without EPG data
- if(ChannelHasEPG($channel->{vdr_id})) {
+ if(ChannelHasEPG($channel->{vdr_id})
+ &&$channel->{name}=~/^$prefix/i) {
push(@channel, {
name => $channel->{name},
vdr_id => $channel->{vdr_id},
@@ -2608,8 +2611,13 @@
#
my($template) = TemplateNew("prog_list2.html");
+ my $switcher="<a href='vdradmin.pl?aktion=prog_list2&prefix=%5B%5Ea%2Dz%5D'>#</a> ";
+ foreach(('a','b','c','d','e','f','g','h','i','j','k','l','m',
+ 'n','o','p','q','r','s','t','u','v','w','x','y','z')) {
+ $switcher.="<a href='vdradmin.pl?aktion=prog_list2&prefix=$_'>$_</a> ";
+ }
my $vars = {
- title => $day == $current_day ? gettext("Playing Today") : ($day == $current_day + 1 ? gettext("Playing Tomorrow") : sprintf(gettext("Playing on the %d."), $day)),
+ title => ($day == $current_day ? gettext("Playing Today") : ($day == $current_day + 1 ? gettext("Playing Tomorrow") : sprintf(gettext("Playing on the %d."), $day)))." $switcher",
usercss => $UserCSS,
url => $MyURL,
loop => \@show,
@@ -3800,6 +3808,9 @@
return if(UptoDate());
my $time = $q->param("time");
my $search = $q->param("search");
+ my $prefix = 'a';
+ $prefix = '' if ($q->param("search"));
+ $prefix = $q->param("prefix") if ($q->param("prefix"));
# zeitpunkt bestimmen
my $event_time;
@@ -3907,7 +3918,9 @@
$displaysubtitle =~ s/\|/<br \/>\n/g;
}
my $myself = Encode_Referer($MyURL . "?" . $Query);
- push(@show, {
+ if ($event->{channel_name}=~/^$prefix/i)
+ {
+ push(@show, {
date => my_strftime("%x", $event->{start}),
longdate => my_strftime("%A, %x", $event->{start}),
start => my_strftime("%H:%M", $event->{start}),
@@ -3927,6 +3940,7 @@
anchor => "id" . $event->{event_id}
});
last if(!$search);
+ }
}
}
@@ -3947,12 +3961,17 @@
}
#
+ my $switcher="<a href='vdradmin.pl?aktion=prog_list2&prefix=%5B%5Ea%2Dz%5D'>#</a> ";
+ foreach(('a','b','c','d','e','f','g','h','i','j','k','l','m',
+ 'n','o','p','q','r','s','t','u','v','w','x','y','z')) {
+ $switcher.="<a href='vdradmin.pl?aktion=prog_summary&prefix=$_'>$_</a> ";
+ }
my $template = TemplateNew("prog_summary.html");
my $vars = {
usercss => $UserCSS,
rows => \@shows,
now => strftime("%H:%M", localtime($event_time)),
- title => $search ? gettext("Suitable matches for:") . " " . $search : strftime("%H:%M", localtime($event_time)) . " " . gettext("o'clock"),
+ title => $search ? gettext("Suitable matches for:") . " " . $search : strftime("%H:%M", localtime($event_time)) . " " . gettext("o'clock") . " " . $switcher,
nowurl => $MyURL . "?aktion=prog_summary",
url => $MyURL
};




