[Debian-l10n-commits] r1205 - /ddtp-web/Packages2db.pl /ddtp-web/ddt.cgi /ddtss/trunk/ddts_lib.pm

grisu at users.alioth.debian.org grisu at users.alioth.debian.org
Thu Aug 14 23:37:09 UTC 2008


Author: grisu
Date: Thu Aug 14 23:37:09 2008
New Revision: 1205

URL: http://svn.debian.org/wsvn/?sc=1&rev=1205
Log:

   * ddtp-web/Packages2db.pl
      * add package version info to db
   * ddtss/trunk/ddts_lib.pm
      * add package version support
      * save owner, if set
   * ddtp-web/ddt.cgi
      * output the package version


Modified:
    ddtp-web/Packages2db.pl
    ddtp-web/ddt.cgi
    ddtss/trunk/ddts_lib.pm

Modified: ddtp-web/Packages2db.pl
URL: http://svn.debian.org/wsvn/ddtp-web/Packages2db.pl?rev=1205&op=diff
==============================================================================
--- ddtp-web/Packages2db.pl (original)
+++ ddtp-web/Packages2db.pl Thu Aug 14 23:37:09 2008
@@ -61,6 +61,7 @@
 	my $source;
 	my $priority;
 	my $section;
+	my $version;
 
 	sub get_old_description_id {
 		my $package= shift(@_);
@@ -105,6 +106,27 @@
 		};
 		if ($@) {
 			$dbh->rollback; # undo the incomplete changes
+		}
+	}
+
+	sub save_version_to_db {
+		my $description_id= shift(@_);
+		my $version= shift(@_);
+		
+		my $version_id;
+
+		my $sth = $dbh->prepare("SELECT version_id FROM version_tb WHERE description_id=? and version=?");
+		$sth->execute($description_id, $version);
+		($version_id) = $sth->fetchrow_array;
+
+		if (undef $version_id) {
+			eval {
+				$dbh->do("INSERT INTO version_tb (description_id,version) VALUES (?,?);", undef, $description_id, $version);
+				$dbh->commit;   # commit the changes if we get this far
+			};
+			if ($@) {
+				$dbh->rollback; # undo the incomplete changes
+			}
 		}
 	}
 
@@ -156,6 +178,9 @@
 				warn "Transaction aborted because $@";
 				$dbh->rollback; # undo the incomplete changes
 			}
+			if (($description_id)) {
+				save_version_to_db($description_id,$version);
+			}
 			if (($description_id) and ($distribution eq 'sid')) {
 				save_active_to_db($description_id);
 
@@ -179,6 +204,7 @@
 			$package=$1;
 			$source=$1;
 			$prioritize=40;
+			$version="1";
 			$prioritize -= 1 if $package =~ /^(linux|kernel)-/i;
 			$prioritize -= 1 if $package =~ /^(linux|kernel)-source/i;
 			$prioritize -= 2 if $package =~ /^(linux|kernel)-patch/i;
@@ -190,6 +216,9 @@
 		}
 		if (/^Source: ([\w.+-]+)/) { # new item
 			$source=$1;
+		}
+		if (/^Version: ([\w.+-]+)/) { # new item
+			$version=$1;
 		}
 		if (/^Tag: (.+)/) { # new item
 			$tag=$1;

Modified: ddtp-web/ddt.cgi
URL: http://svn.debian.org/wsvn/ddtp-web/ddt.cgi?rev=1205&op=diff
==============================================================================
--- ddtp-web/ddt.cgi (original)
+++ ddtp-web/ddt.cgi Thu Aug 14 23:37:09 2008
@@ -92,6 +92,21 @@
 	}
 }
 
+sub get_versions ($) {
+	my $desc_id = shift;
+
+	my @versions=();
+
+	my $sth = $dbh->prepare("SELECT version FROM version_tb WHERE description_id=?");
+	$sth->execute($desc_id);
+
+	my $version;
+	while(($version) = $sth->fetchrow_array) {
+		push @versions,$version;
+	}
+	return (@versions);
+}
+
 # Sanitize all paramaters to this script, anything we don't recognise is thrown out.
 sub sanitize_params
 {
@@ -134,6 +149,8 @@
 
 	my $description_id=param('desc_id');
 
+	my @versions=get_versions($description_id);
+
 	my $sth = $dbh->prepare("SELECT description,prioritize,package,source FROM description_tb WHERE description_id=?");
 	$sth->execute($description_id);
 
@@ -152,6 +169,7 @@
 	print "<pre>\n";	
 	print "Source: <a href=\"ddt.cgi?source=".escape($source)."\">$source</a>\n";	
 	print "Package: <a href=\"ddt.cgi?package=".escape($package)."\">$package</a>\n";	
+	print "Versions: " . join(", ", at versions) . "\n";	
 	print "Prioritize: $prioritize\n";	
 	print "Description: ",$cgi->escapeHTML($description);	
 	print "</pre>\n";	
@@ -254,6 +272,8 @@
 	my $description_id=param('desc_id');
 	my $language=param('language');
 
+	my @versions=get_versions($description_id);
+
 	my $sth = $dbh->prepare("SELECT description,prioritize,package,source FROM description_tb WHERE description_id=?");
 	$sth->execute($description_id);
 
@@ -272,6 +292,7 @@
 	print "<pre>\n";	
 	print "Source: <a href=\"ddt.cgi?source=".escape($source)."\">$source</a>\n";	
 	print "Package: <a href=\"ddt.cgi?package=".escape($package)."\">$package</a>\n";	
+	print "Versions: " . join(", ", at versions) . "\n";	
 	print "Prioritize: $prioritize\n";	
 	print "Description: ",$cgi->escapeHTML($description);	
 	print "</pre>\n";	
@@ -321,6 +342,8 @@
 	my $description_id=param('desc_id');
 	my $language=param('getuntrans');
 
+	my @versions=get_versions($description_id);
+
 	my $sth = $dbh->prepare("SELECT A.description,A.prioritize,A.package,A.source,B.description_id,O.owner FROM (description_tb AS A LEFT JOIN active_tb AS B ON A.description_id=B.description_id) LEFT JOIN (SELECT owner,description_id FROM owner_tb WHERE language=?) AS O ON A.description_id=O.description_id WHERE A.description_id=?");
 	$sth->execute($language,$description_id);
 
@@ -330,6 +353,7 @@
 	print "\n";	
 	print "# Source: $source\n";	
 	print "# Package: $package\n";	
+	print "# Versions: " . join(", ", at versions) . "\n";	
 	if ($active) {
 		print "# This Description is active\n";
 	}
@@ -414,6 +438,8 @@
 
 	my $description_id=param('desc_id');
 	my $language=param('getpountrans');
+
+	my @versions=get_versions($description_id);
 
 	my $sth = $dbh->prepare("SELECT A.description,A.prioritize,A.package,A.source,B.description_id,O.owner FROM (description_tb AS A LEFT JOIN active_tb AS B ON A.description_id=B.description_id) LEFT JOIN (SELECT owner,description_id FROM owner_tb WHERE language=?) AS O ON A.description_id=O.description_id WHERE A.description_id=?");
 	$sth->execute($language,,$description_id);
@@ -439,6 +465,7 @@
 	print "\n";	
 	print "#: Source: $source\n";	
 	print "#: Package: $package\n";	
+	print "#: Versions: " . join(", ", at versions) . "\n";	
 	if ($active) {
 		print "#  This Description is active\n";
 	}

Modified: ddtss/trunk/ddts_lib.pm
URL: http://svn.debian.org/wsvn/ddtss/trunk/ddts_lib.pm?rev=1205&op=diff
==============================================================================
--- ddtss/trunk/ddts_lib.pm (original)
+++ ddtss/trunk/ddts_lib.pm Thu Aug 14 23:37:09 2008
@@ -39,6 +39,22 @@
 
 # Number of days before we ignore the owner when sending descriptions to translate
 my $OWNER_EXPIRE = 28;
+
+# This is _copied_ from /org/ddtp.debian.net/ddts.cgi
+sub get_versions ($) {
+        my $desc_id = shift;
+
+        my @versions=();
+
+        my $sth = $dbh->prepare("SELECT version FROM version_tb WHERE description_id=?");
+        $sth->execute($desc_id);
+
+        my $version;
+        while(($version) = $sth->fetchrow_array) {
+                push @versions,$version;
+        }
+        return (@versions);
+}
 
 # This is _copied_ from /org/ddtp.debian.net/ddts/bin/mailparser.pl
 sub desc_to_parts ($) {
@@ -73,6 +89,10 @@
 	my $desc_id = shift;
 	my $lang = shift;
 	my $owner = shift;
+
+	if ($owner eq "") {
+		return 0;
+	}
 
 	eval {
 		$dbh->do("DELETE FROM owner_tb WHERE description_id = ? AND language = ? AND lastsend < (CURRENT_DATE - ?::int4)", undef,
@@ -364,10 +384,13 @@
 
 	my ($description,$prioritize,$package,$source,$active,$owner) = $sth->fetchrow_array ;
 
+	my @versions=get_versions($description_id);
+
 	$body .="\n"
 		."# Source: $source\n"	
 		."# Package(s): $package\n"	
-		."# Prioritize: $prioritize\n";	
+		."# Prioritize: $prioritize\n"	
+		."# Versions: " . join(", ", at versions) . "\n";
 	if ($active) {
 		$body .= "# This Description is active\n";
 	}




More information about the Debian-l10n-commits mailing list