git://git.camperquake.de
/
videosite.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
d1cad67
)
- Fix blip.tv grabber
author
Ralf Ertzinger
<sun@ryoko.camperquake.de>
Sat, 19 Jul 2008 12:17:43 +0000
(14:17 +0200)
committer
Ralf Ertzinger
<sun@ryoko.camperquake.de>
Sat, 19 Jul 2008 12:17:43 +0000
(14:17 +0200)
videosite/BlipTVGrabber.pm
patch
|
blob
|
history
diff --git
a/videosite/BlipTVGrabber.pm
b/videosite/BlipTVGrabber.pm
index
aeda2d9
..
1b2349d
100644
(file)
--- a/
videosite/BlipTVGrabber.pm
+++ b/
videosite/BlipTVGrabber.pm
@@
-36,6
+36,7
@@
sub _parse {
my $metadata = {};
my $p = HTML::Parser->new(api_version => 3);
my @accum;
my $metadata = {};
my $p = HTML::Parser->new(api_version => 3);
my @accum;
+ my @text;
my $e;
my $xml = undef;
my $e;
my $xml = undef;
@@
-55,16
+56,15
@@
sub _parse {
}
$p->handler(start => \@accum, "tagname, attr");
}
$p->handler(start => \@accum, "tagname, attr");
- $p->report_tags(qw(div));
+ $p->handler(text => \@text, "text");
+ $p->report_tags(qw(script));
$p->utf8_mode(1);
$p->parse($content);
$p->utf8_mode(1);
$p->parse($content);
- # Look for the post id in the div tags
- foreach $e (@accum) {
- if (exists($e->[1]->{'pokkariparameters'})) {
- if ($e->[1]->{'pokkariparameters'} =~ m|posts_id:"(\d+)"|) {
- $xml = $1;
- }
+ # Look for the post id in the javascript code
+ foreach $e (@text) {
+ if ($e->[0] =~ m|player.setPostsId\((\d+)\)|s) {
+ $xml = $1;
}
}
}
}
@@
-80,7
+80,7
@@
sub _parse {
}
$xml = XML::Simple::XMLin($content, KeepRoot => 1);
}
$xml = XML::Simple::XMLin($content, KeepRoot => 1);
- $metadata->{'DLURL'} = $xml->{'rss'}->{'channel'}->{'item'}->{'
media:group'}->{'media:content
'}->{'url'};
+ $metadata->{'DLURL'} = $xml->{'rss'}->{'channel'}->{'item'}->{'
enclosure
'}->{'url'};
$metadata->{'TITLE'} = $xml->{'rss'}->{'channel'}->{'item'}->{'media:title'};
unless(defined($metadata->{'DLURL'}) && defined($metadata->{'TITLE'})) {
$metadata->{'TITLE'} = $xml->{'rss'}->{'channel'}->{'item'}->{'media:title'};
unless(defined($metadata->{'DLURL'}) && defined($metadata->{'TITLE'})) {