[Debian-l10n-commits] r2714 - in /ddtp-web: Changelog file2Translation.pl
nekral-guest at users.alioth.debian.org
nekral-guest at users.alioth.debian.org
Mon Jul 25 14:37:12 UTC 2011
Author: nekral-guest
Date: Mon Jul 25 14:37:11 2011
New Revision: 2714
URL: http://svn.debian.org/wsvn/?sc=1&rev=2714
Log:
* file2Translation.pl (get_packageinfos): Only return the md5 and
not the package.
* file2Translation.pl: get_description_ids and foreach (package,
version) loop replaced by make_translation_file(). Use the
package_version_tb table to pick description for a package and
version. + other changes
Modified:
ddtp-web/Changelog
ddtp-web/file2Translation.pl
Modified: ddtp-web/Changelog
URL: http://svn.debian.org/wsvn/ddtp-web/Changelog?rev=2714&op=diff
==============================================================================
--- ddtp-web/Changelog (original)
+++ ddtp-web/Changelog Mon Jul 25 14:37:11 2011
@@ -32,3 +32,9 @@
etch.
* file2Translation.sh: Remove consecutive duplicate lines from the
./file2Translation.pl output (maybe to remove extra empty lines?).
+ * file2Translation.pl (get_packageinfos): Only return the md5 and
+ not the package.
+ * file2Translation.pl: get_description_ids and foreach (package,
+ version) loop replaced by make_translation_file(). Use the
+ package_version_tb table to pick description for a package and
+ version. + other changes
Modified: ddtp-web/file2Translation.pl
URL: http://svn.debian.org/wsvn/ddtp-web/file2Translation.pl?rev=2714&op=diff
==============================================================================
--- ddtp-web/file2Translation.pl (original)
+++ ddtp-web/file2Translation.pl Mon Jul 25 14:37:11 2011
@@ -5,9 +5,6 @@
my $dists= shift(@ARGV);
my $lang= shift(@ARGV);
-
-my $description_id;
-my $translation;
use DBI;
use Digest::MD5 qw(md5_hex);
@@ -24,31 +21,6 @@
my $package;
-my $description_md5;
-
-sub get_description_ids {
- my $tag= shift(@_);
-
- my @description_ids;
- my $package;
- my $version;
-
- open (PACKAGELIST, "<Packages/packagelist-$tag");
- while (<PACKAGELIST>) {
- chomp;
- ($package,$version) = split (/ /);
- #print "^$package^$version^";
- my $sth = $dbh->prepare("SELECT description_id FROM description_tb WHERE package=? and description_id in (SELECT description_id FROM version_tb WHERE version=?)");
- $sth->execute($package,$version);
- while(($description_id) = $sth->fetchrow_array) {
- #print " -> $description_id\n";
- push @description_ids,$description_id;
- }
- }
- close (PACKAGELIST);
-
- return @description_ids;
-}
sub get_translation {
my $description_id= shift(@_);
@@ -68,22 +40,52 @@
sub get_packageinfos {
my $description_id= shift(@_);
- my $package;
my $description_md5;
- my $sth = $dbh->prepare("SELECT package,description_md5 FROM description_tb WHERE description_id=?");
+ my $sth = $dbh->prepare("SELECT description_md5 FROM description_tb WHERE description_id=?");
$sth->execute($description_id);
- ($package,$description_md5) = $sth->fetchrow_array;
- return ($package,$description_md5);
+ ($description_md5) = $sth->fetchrow_array;
+ return ($description_md5);
}
-foreach (get_description_ids($dists)) {
- $description_id=$_;
- $translation=get_translation($description_id,$lang);
- if ($translation) {
- ($package,$description_md5)=get_packageinfos($description_id);
- print "Package: $package\n";
- print "Description-md5: $description_md5\n";
- print "Description-$lang: $translation\n";
+sub make_translation_file {
+ my $tag= shift(@_);
+
+ my %seen_package_and_description_ids;
+ my $package;
+ my $version;
+ my $translation;
+ my $description_md5;
+ my $description_id;
+
+ open (PACKAGELIST, "<Packages/packagelist-$tag");
+ while (<PACKAGELIST>) {
+ chomp;
+ ($package,$version) = split (/ /);
+ #print "^$package^$version^";
+ my $sth = $dbh->prepare("SELECT description_id FROM description_tb WHERE description_id in (SELECT description_id FROM package_version_tb WHERE package=? and version=?)");
+ $sth->execute($package,$version);
+ while(($description_id) = $sth->fetchrow_array) {
+ #print " -> $description_id\n";
+ unless ($seen_package_and_description_ids{"$package $description_id"}) {
+ $translation=get_translation($description_id,$lang);
+ if ($translation) {
+ ($description_md5)=get_packageinfos($description_id);
+ print "Package: $package\n";
+ print "Description-md5: $description_md5\n";
+ print "Description-$lang: $translation\n";
+ }
+ $seen_package_and_description_ids{"$package $description_id"}=1;
+ }
+ }
}
+ close (PACKAGELIST);
+
+ # # get only the uniq elements (see man perlfaq5)
+ # my %hash = map { $_, 1 } @description_ids;
+ # my @unique = keys %hash;
+
+ # return @unique;
}
+
+make_translation_file($dists);
More information about the Debian-l10n-commits
mailing list