summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPetter Reinholdtsen <pere@hungry.com>2009-10-17 06:19:23 +0000
committerPetter Reinholdtsen <pere@hungry.com>2009-10-17 06:19:23 +0000
commit6643d8420d3af74d787f95112cff2493a8e05220 (patch)
tree785d814374b2c2f7ef71f703f3a73b6f6c95d724
parent008a147916f4c37b725d40fe7c82f23c965dfd29 (diff)
Check if URLs exist when loading XML, to avoid schedule non-existing files.
-rwxr-xr-xfrikanalen/bin/scheduler38
1 files changed, 21 insertions, 17 deletions
diff --git a/frikanalen/bin/scheduler b/frikanalen/bin/scheduler
index 814c161..4ec9a36 100755
--- a/frikanalen/bin/scheduler
+++ b/frikanalen/bin/scheduler
@@ -35,10 +35,26 @@ for my $url (@{$listref}) {
# Why do this test fail to keep entries with no start entry
# from the @events array.
- if (defined $event->{'start'}) {
- push @events, $event;
+ if ($event->{'start'} && $event->{'contentId'}) {
+
+# EPG contentId = fetchvideo.cgi videoId
+# http://www.nuug.no/pub/video/frikanalen/fetchvideo.cgi?videoId=4449
+ my $baseurl = "http://www.nuug.no/pub/video/frikanalen";
+ my $videoId = $event->{'contentId'};
+ my $ogvurl = "$baseurl/${videoId}.ogv";
+ $event->{'ogvurl'} = $ogvurl;
+ $event->{'pageurl'} = "$baseurl/fetchvideo.cgi?videoId=$videoId";
+
+ my $ua = new LWP::UserAgent;
+ my $req = new HTTP::Request HEAD => $ogvurl;
+ my $res = $ua->request($req);
+ if ($res->is_success) {
+ push @events, $event;
+ } else {
+ print "error: Missing $ogvurl, not scheduling\n";
+ }
} else {
- print "D: ", Dumper($event);
+ print "Empty event: ", Dumper($event);
}
}
}
@@ -94,14 +110,10 @@ sub process_event {
my ($vlc, $eventref) = @_;
# print Dumper($eventref);
-# EPG contentId = fetchvideo.cgi videoId
-# http://www.nuug.no/pub/video/frikanalen/fetchvideo.cgi?videoId=4449
- my $baseurl = "http://www.nuug.no/pub/video/frikanalen";
my $videoId = $eventref->{'contentId'};
if ($videoId) {
- my $pageurl = "$baseurl/fetchvideo.cgi?videoId=$videoId";
- my $ogvurl = "$baseurl/${videoId}.ogv";
-
+ my $pageurl = $eventref->{'pageurl'};
+ my $ogvurl = $eventref->{'ogvurl'};
my $title = $eventref->{'title'};
my $start = $eventref->{'start'};
my $stop = $eventref->{'stop'};
@@ -112,14 +124,6 @@ sub process_event {
print "# [$start -> $stop] $title\n";
print "$ogvurl\n";
- my $ua = new LWP::UserAgent;
- my $req = new HTTP::Request HEAD => $ogvurl;
- my $res = $ua->request($req);
- if ($res->is_success) {
- vlc_play($vlc, $ogvurl);
- } else {
- print "error: Missing $ogvurl\n";
- }
} else {
# print Dumper($eventref);
}