diff options
author | Frank Lichtenheld <frank@lichtenheld.de> | 2008-02-07 16:23:33 +0100 |
---|---|---|
committer | Frank Lichtenheld <frank@lichtenheld.de> | 2008-02-07 16:23:33 +0100 |
commit | 2442b6d4d053bc955fcfa96db3c74d52416303bc (patch) | |
tree | b506c5b54881124625a6055996ad8bd02e909320 /bin | |
parent | 0b1112228d65f8030d1df4000aff29b62944d2bd (diff) |
Split the creation of the suite index pages out of create_index_pages
The whole index page stuff needs some serious tweaking because it just
doesn't scale very well with the growing number of packages and languages.
The creation of the suite index pages is not affected by this however, so
separate these two tasks.
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/create_index_pages | 40 | ||||
-rwxr-xr-x | bin/create_suite_index_pages | 65 |
2 files changed, 65 insertions, 40 deletions
diff --git a/bin/create_index_pages b/bin/create_index_pages index 05123e7..53443bc 100755 --- a/bin/create_index_pages +++ b/bin/create_index_pages @@ -48,46 +48,6 @@ my (%pages); my $template = new Packages::Template( "$TOPDIR/templates", 'html'); my $txt_template = new Packages::Template( "$TOPDIR/templates", 'txt'); -print "write suite index files ...\n"; -foreach my $s (@SUITES) { - my $key = $s; - mkpath ( "$wwwdir/$key" ); - mkpath ( "$wwwdir/source/$key" ); - foreach my $lang (@LANGUAGES) { - my $charset = 'UTF-8'; - my $cat = Packages::I18N::Locale->get_handle($lang) - or die "get_handle failed for $lang"; - print "writing $key/index (lang=$lang)...\n"; - - my %content = ( subsections => [], suite => $s, - po_lang => $lang, ddtp_lang => $lang, - charset => $charset, cat => $cat, - used_langs => \@LANGUAGES, suites => \@SUITES ); - foreach my $ssec (sort (keys %{$subsections->{$s}}, 'virtual')) { - next if $ssec eq '-'; - if ($sections_descs{$ssec}) { - push @{$content{subsections}}, { - id => $ssec, - name => $cat->g($sections_descs{$ssec}[0]), - desc => $cat->g($sections_descs{$ssec}[1]), - }; - } - } - - $template->page( 'suite_index', \%content, - "$wwwdir/$key/index.$lang.html.new"); - rename( "$wwwdir/$key/index.$lang.html.new", - "$wwwdir/$key/index.$lang.html" ); - - $content{source} = 'source'; - $template->page( 'suite_index', \%content, - "$wwwdir/source/$key/index.$lang.html.new"); - rename( "$wwwdir/source/$key/index.$lang.html.new", - "$wwwdir/source/$key/index.$lang.html" ); - - } -} - print "collecting package info ...\n"; my %allpkgs; while (my ($pkg, $data) = each %packages) { diff --git a/bin/create_suite_index_pages b/bin/create_suite_index_pages new file mode 100755 index 0000000..a14cfda --- /dev/null +++ b/bin/create_suite_index_pages @@ -0,0 +1,65 @@ +#!/usr/bin/perl + +use strict; +use warnings; + +use POSIX; +use Storable; + +use lib './lib'; + +use Packages::CommonCode qw(:all); +use Packages::Config qw( $TOPDIR $DBDIR @ARCHIVES @SUITES @LANGUAGES ); +use Packages::Template; +use Packages::I18N::Locale; +use Packages::Sections; +&Packages::Config::init( './' ); + +my $wwwdir = "$TOPDIR/www"; + +my $subsections = retrieve "$DBDIR/subsections.info"; + +#use Data::Dumper; +#print STDERR Dumper($sections, $subsections, $priorities); + +my (%pages); + +my $template = new Packages::Template( "$TOPDIR/templates", 'html'); + +print "write suite index files ...\n"; +foreach my $s (@SUITES) { + my $key = $s; + mkdirp ( "$wwwdir/$key" ); + mkdirp ( "$wwwdir/source/$key" ); + foreach my $lang (@LANGUAGES) { + my $charset = 'UTF-8'; + my $cat = Packages::I18N::Locale->get_handle($lang) + or die "get_handle failed for $lang"; + print "writing $key/index (lang=$lang)...\n"; + + my %content = ( subsections => [], suite => $s, + po_lang => $lang, ddtp_lang => $lang, + charset => $charset, cat => $cat, + used_langs => \@LANGUAGES, suites => \@SUITES ); + foreach my $ssec (sort (keys %{$subsections->{$s}}, 'virtual')) { + next if $ssec eq '-'; + if ($sections_descs{$ssec}) { + push @{$content{subsections}}, { + id => $ssec, + name => $cat->g($sections_descs{$ssec}[0]), + desc => $cat->g($sections_descs{$ssec}[1]), + }; + } + } + + $template->page( 'suite_index', \%content, + "$wwwdir/$key/index.$lang.html.new"); + activate( "$wwwdir/$key/index.$lang.html" ); + + $content{source} = 'source'; + $template->page( 'suite_index', \%content, + "$wwwdir/source/$key/index.$lang.html.new"); + activate( "$wwwdir/source/$key/index.$lang.html" ); + + } +} |