use LWP::Simple qw(!get);
use HTML::Parser;
+use videosite::JSArrayParser;
use Data::Dumper;
use strict;
# Look for the download URL
foreach $e (@text) {
- if ($e->[0] =~ m|\.setup\(.*file:\s*"([^\x22]+)"|) {
- $metadata->{'DLURL'} = $1;
+ if ($e->[0] =~ m|\.setup\((.*)\);$|) {
+ my $jsp;
+ my $r;
+
+ $self->debug("Found JSON: %s", $1);
+ $jsp = videosite::JSArrayParser->new();
+ $self->debug("Using %s to parse", ref($jsp));
+ $r = $jsp->parse($1);
+
+ unless(defined($r)) {
+ $self->error("Found information hash, but could not parse");
+ return undef;
+ }
+
+ $self->debug("Parsed information: %s", Dumper($r));
+
+ if (exists($r->{'file'})) {
+ $metadata->{'DLURL'} = $r->{'file'};
+ }
}
}