[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