The following commit has been merged in the master branch:
commit 2442b6d4d053bc955fcfa96db3c74d52416303bc
Author: Frank Lichtenheld <[EMAIL PROTECTED]>
Date:   Thu Feb 7 16:23:33 2008 +0100

    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.

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 => [EMAIL PROTECTED], suites => [EMAIL 
PROTECTED] );
-       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 => [EMAIL PROTECTED], suites => [EMAIL 
PROTECTED] );
+       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" );
+
+    }
+}
diff --git a/cron.d/900index_pages b/cron.d/900index_pages
index 5829d0b..1213e36 100755
--- a/cron.d/900index_pages
+++ b/cron.d/900index_pages
@@ -5,5 +5,7 @@
 cd "$topdir"
 
 date
+./bin/create_suite_index_pages
+date
 ./bin/create_index_pages
 date

-- 
APT Archive Web-Frontend (Alioth repository)


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to