$urls =~ s/%(..)/chr(hex($1))/ge;
$urls = { split /[\|,]/, $urls };
- foreach (keys(%{$urls})) {
- if (exists($videoformats{$_})) {
- $self->debug('Found URL for format %s (%s): %s', $_, $videoformats{$_}, $urls->{$_});
- } else {
- $self->error('Unknown format %s: %s', $_, $urls->{$_});
- }
- }
-
- foreach (@{$preflist}) {
- if (exists($urls->{$_})) {
- $self->debug("Selected URL with quality level %s", $_);
- $metadata->{'DLURL'} = $urls->{$_};
- last;
- }
- }
-
- $self->debug('URL found: %s', $metadata->{'DLURL'});
+ $self->__pick_url($urls, $preflist, $metadata);
$metadata->{'TITLE'} = $content->{'title'};
$metadata->{'TITLE'} =~ s/\+/ /g;
}
if (%urls) {
- foreach (keys(%urls)) {
- if (exists($videoformats{$_})) {
- $self->debug('Found URL for format %s (%s): %s', $_, $videoformats{$_}, $urls{$_});
- } else {
- $self->error('Unknown format %s: %s', $_, $urls{$_});
- }
- }
-
- foreach (@{$preflist}) {
- if (exists($urls{$_})) {
- $self->debug("Selected URL with quality level %s", $_);
- $metadata->{'DLURL'} = $urls{$_};
- last;
- }
- }
-
- $self->debug('URL found: %s', $metadata->{'DLURL'});
+ $self->__pick_url(\%urls, $preflist, $metadata);
last SWF_ARGS;
}
} elsif ('div' eq $tag->[0]) {
return ($ua->get($videourl), $cookie);
}
+sub __pick_url {
+ my $self = shift;
+ my $urls = shift;
+ my $preflist = shift;
+ my $metadata = shift;
+
+ foreach (keys(%{$urls})) {
+ if (exists($videoformats{$_})) {
+ $self->debug('Found URL for format %s (%s): %s', $_, $videoformats{$_}, $urls->{$_});
+ } else {
+ $self->error('Unknown format %s: %s', $_, $urls->{$_});
+ }
+ }
+
+ foreach (@{$preflist}) {
+ if (exists($urls->{$_})) {
+ $self->debug("Selected URL with quality level %s", $_);
+ $metadata->{'DLURL'} = $urls->{$_};
+ last;
+ }
+ }
+
+ $self->debug('URL found: %s', $metadata->{'DLURL'});
+}
+
1;