The following commit has been merged in the debian-master branch:
commit 1f8683c48e2e9a10bcf45818dd7bc7495a8507d7
Author: Cyril Brulebois <k...@debian.org>
Date:   Tue Feb 21 03:06:08 2012 +0100

    Bug#657557: [PATCH 4/4] Extract English translations before processing 
packages.
    
    Since long descriptions are determined using English translations (for
    some suites only, right now), it's needed to process them before
    Packages files are processed.

diff --git a/bin/parse-packages b/bin/parse-packages
index b926982..e75a500 100755
--- a/bin/parse-packages
+++ b/bin/parse-packages
@@ -60,8 +60,8 @@ $/ = "";
 mkpath( "$DBDIR/xapian.new" );
 
 # Needed to compensate removal of long descriptions from Packages files:
-my %descriptions_translated_db;
-tie %descriptions_translated_db, "DB_File", 
"files/db/descriptions_translated.db", O_RDONLY, 0666, $DB_BTREE;
+my %descriptions_english_db;
+tie %descriptions_english_db, "DB_File", 
"files/db/descriptions_translated_english_only.db", O_RDONLY, 0666, $DB_BTREE;
 
 for my $suite (@SUITES) {
     my %package_names_suite = ();
@@ -139,11 +139,13 @@ for my $suite (@SUITES) {
                if ($data{'description-md5'}) {
                    # The short description is a nice fallback:
                    my $description = $data{'description'};
-                   my $lookup = 
$descriptions_translated_db{$data{'description-md5'}};
+                   my $lookup = 
$descriptions_english_db{$data{'description-md5'}};
                    if ($lookup) {
+                       # There should only be an English translation
+                       # in there, but let's make sure:
                        while ($lookup =~ /([^\001]*)\001([^\000]*)\000/g) {
-                           my ($language, $translated_description) = ($1, $2);
-                           $description = $translated_description
+                           my ($language, $english_description) = ($1, $2);
+                           $description = $english_description
                                if $language eq 'en';
                        }
                        $data{'description'} = $description;
@@ -215,7 +217,7 @@ for my $suite (@SUITES) {
     untie %packages_all_db;
 }
 
-untie %descriptions_translated_db;
+untie %descriptions_english_db;
 
 print "Writing databases...\n";
 my %packages_small_db;
diff --git a/cron.d/200process_archive b/cron.d/200process_archive
index b8f6a6d..29a7385 100755
--- a/cron.d/200process_archive
+++ b/cron.d/200process_archive
@@ -5,6 +5,8 @@
 cd "$topdir"
 
 date
+./bin/parse-translations --english-only
+date
 ./bin/parse-packages
 date
 ./bin/parse-sources

-- 
APT Archive Web-Frontend (Alioth repository)


-- 
To UNSUBSCRIBE, email to debian-www-cvs-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to