aboutsummaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorFrank Lichtenheld <frank@lichtenheld.de>2008-02-07 16:23:33 +0100
committerFrank Lichtenheld <frank@lichtenheld.de>2008-02-07 16:23:33 +0100
commit2442b6d4d053bc955fcfa96db3c74d52416303bc (patch)
treeb506c5b54881124625a6055996ad8bd02e909320 /bin
parent0b1112228d65f8030d1df4000aff29b62944d2bd (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-xbin/create_index_pages40
-rwxr-xr-xbin/create_suite_index_pages65
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" );
+
+ }
+}