From 5df2ffc5d06ea4fc25d970c1b16d75d51b8b6f08 Mon Sep 17 00:00:00 2001 From: Pascal Rigaux Date: Mon, 1 Sep 2008 12:04:14 +0000 Subject: cleanup --- urpm/download.pm | 40 ++++++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 18 deletions(-) (limited to 'urpm/download.pm') diff --git a/urpm/download.pm b/urpm/download.pm index d714daa7..228accda 100644 --- a/urpm/download.pm +++ b/urpm/download.pm @@ -869,9 +869,8 @@ sub _sync_webfetch_raw { sub _create_metalink_ { my ($urpm, $files, $options) = @_; # Don't create a metalink when downloading mirror list - if (! $options->{media}) { - return; - } + $options->{media} or return; + my $mirrors; foreach my $medium (@{$urpm->{media} || []}) { if ($medium->{name} eq $options->{media}) { @@ -883,39 +882,44 @@ sub _create_metalink_ { my $metalinkfile = "$urpm->{cachedir}/$options->{media}.metalink"; # Even if not required by metalink spec, this line is needed at top of # metalink file, otherwise aria2 won't be able to autodetect it.. - my $metalink = qq(\n); - $metalink .= qq(\n); - $metalink .= qq(\n); + my @metalink = ( + qq(), + qq(), + qq(), + ); foreach my $append (@$files) { $append =~ s/$mirrors->{chosen}//; - $metalink .= qq(\t\n); - $metalink .= qq(\t\t\n); + push @metalink, qq(\t); + push @metalink, qq(\t\t); my $i = 0; foreach my $mirror (@{$mirrors->{list}}) { $i++; my $type = $mirror->{url}; $type =~ s!://.*!!; # If more than 100 mirrors, give all the remaining mirrors a priority of 0 my $preference = max(0, 100 - $i); - $metalink .= qq(\t\t\t{bw}) { - # $metalink .= " bandwidth=\"".@$list[$i]->{bw}."\" "; + # push @options, 'bandwidth="' . @$list[$i]->{bw} . '"'; # } # Supported in metalinks, but no longer used in mirror list..? if ($mirror->{connections}) { - $metalink .= qq( maxconnections=") . $mirror->{connections} . qq("); + push @options, qq(maxconnections=") . $mirror->{connections} . qq("); } - $metalink .= sprintf(qq( location="%s">%s%s\n), lc($mirror->{zone}), $mirror->{url}, $append); + push @options, 'location="' . lc($mirror->{zone}) . '"'; + push @metalink, + sprintf(qq(\t\t\t%s%s), join(' ', @options), $mirror->{url}, $append); } - $metalink .= "\t\t\n"; - $metalink .= "\t\n"; - $append = "$metalinkfile:$append"; + push @metalink, "\t\t"; + push @metalink, "\t"; + $append = "$metalinkfile:$append"; } - $metalink .= "\n\n"; + push @metalink, "", ""; - output_safe($metalinkfile, $metalink); + output_safe($metalinkfile, join('', map { "$_\n" } @metalink)); } 1; -- cgit v1.2.1