From: Alexander Wirt Date: Mon, 25 Mar 2013 09:29:26 +0000 (+0100) Subject: Add a fallback to generate_mirror_map for broken regions X-Git-Url: http://git.grml.org/?p=grml-mirrors.git;a=commitdiff_plain;h=bed63588fab781e0910fa3c97cac8a814c8188b0 Add a fallback to generate_mirror_map for broken regions --- diff --git a/bin/generate_mirror_map b/bin/generate_mirror_map index 224cbcd..a1c34ad 100755 --- a/bin/generate_mirror_map +++ b/bin/generate_mirror_map @@ -11,18 +11,26 @@ $state = $m->state ; # the mirmon state use Data::Dumper; my $mirrors; +my $regions_hash; foreach my $url ( keys %{$state} ) { next unless $url =~ /^http/; $mirror = $state -> { $url } ; # a Mirmon::Mirror object my ($time, $history) = split('-', $mirror->{state_history}); my $last_state = substr($history,-1,1); - next if $last_state eq 'f'; my $region = $mirror->region; + $regions_hash->{$region} = 1; + next if $last_state eq 'f'; $mirrors->{ $region } ||= []; $url =~ s/^http:\/\///; push @{$mirrors->{ $region }}, $url; } -foreach my $region (keys %{$mirrors}) { - printf ("%s %s\n", lc($region), join('|', @{$mirrors->{$region}})); +my @regions = keys(%$regions_hash); + +foreach my $region (@regions) { + if (scalar(@{$mirrors->{$region}}) == 0) { + printf ("%s %s\n", lc($region), join('|', @{$mirrors->{'DE'}})); + } else { + printf ("%s %s\n", lc($region), join('|', @{$mirrors->{$region}})); + } }