X-Git-Url: https://git.deb.at/?p=deb%2Fpackages.git;a=blobdiff_plain;f=bin%2Fcreate_index_pages;h=66d78386f7cc37073f7237cfd88b877035b2abe4;hp=8072fa48fec3ca70441b800735b44b98d0617aa3;hb=89c17478db69effd1c96f4e284ad46f5b4d72c17;hpb=4fec9449ddf3d2a6162c05387367746f3e17e329 diff --git a/bin/create_index_pages b/bin/create_index_pages index 8072fa4..66d7838 100755 --- a/bin/create_index_pages +++ b/bin/create_index_pages @@ -10,6 +10,7 @@ use Storable; use HTML::Entities; use URI::Escape; use Compress::Zlib; +use IO::Handle; use lib './lib'; @@ -75,6 +76,10 @@ sub open_file { print "opening $key\n"; mkdirp ( "$wwwdir/$key" ); + if ($fh{$key}) { + warn "filehandle for $key already open\n"; + return; + } open($fh{$key}, '>', "$wwwdir/$key/$file.slices.new") or die "Cannot open file $wwwdir/$key/$file.slices.new: $!"; @@ -95,6 +100,10 @@ sub close_file { $file ||= 'index'; print "closing $key\n"; + unless ($fh{$key}->opened()) { + warn "filehandle for $key already closed\n"; + return; + } foreach my $lang (@LANGUAGES) { print {$fh{$key}} "\n$s{begin}{$lang}\n"; @@ -188,12 +197,18 @@ foreach my $source (("", "source/")) { foreach my $s (@SUITES) { my %common_vars = ( suite => $s, is_source => $source ); - close_file("$source$s", \%common_vars, 'allpackages'); - close_txt_file("$source$s", \%common_vars, 'allpackages'); + my $page_base = "$source$s/"; + close_file("$source$s", { %common_vars, + page_name => "${page_base}allpackages" }, + 'allpackages'); + close_txt_file("$source$s", { %common_vars, + page_name => "{$page_base}allpackages" }, + 'allpackages'); foreach my $sec (keys %{$sections->{$s}}) { close_file("$source$s/$sec", { %common_vars, + page_name => "$page_base$sec/", category => { id => N_('Section'), name => $sec }}); } @@ -201,6 +216,7 @@ foreach my $source (("", "source/")) { next if $ssec eq '-'; close_file("$source$s/$ssec", { %common_vars, + page_name => "$page_base$ssec/", category => { id => N_('Subsection'), name => $ssec }}); } @@ -208,6 +224,7 @@ foreach my $source (("", "source/")) { next if $prio eq '-'; close_file("$source$s/$prio", { %common_vars, + page_name => "$page_base$prio/", category => { id => N_('Priority'), name => $prio }}); }