[Collab-qa-commits] r945 - in udd/src: . udd

neronus-guest at alioth.debian.org neronus-guest at alioth.debian.org
Sun Jul 27 12:53:57 UTC 2008


Author: neronus-guest
Date: 2008-07-27 12:53:57 +0000 (Sun, 27 Jul 2008)
New Revision: 945

Modified:
   udd/src/setup-db.sql
   udd/src/test.yaml
   udd/src/udd/bugs_gatherer.pl
Log:
Added possibility to import archived bugs
renamed bugs.affects_testings to bugs.affects_testing


Modified: udd/src/setup-db.sql
===================================================================
--- udd/src/setup-db.sql	2008-07-27 12:02:38 UTC (rev 944)
+++ udd/src/setup-db.sql	2008-07-27 12:53:57 UTC (rev 945)
@@ -28,7 +28,7 @@
   (id int, package text, source text, arrival timestamp, status text,
      severity text, tags text, submitter text, owner text, title text,
      last_modified timestamp, affects_stable boolean,
-    affects_testings boolean, affects_unstable boolean, UNIQUE (id));
+    affects_testing boolean, affects_unstable boolean, UNIQUE (id), is_archived boolean);
 
 CREATE TABLE bug_merged_with
   (bug int, merged_with int);

Modified: udd/src/test.yaml
===================================================================
--- udd/src/test.yaml	2008-07-27 12:02:38 UTC (rev 944)
+++ udd/src/test.yaml	2008-07-27 12:53:57 UTC (rev 945)
@@ -135,8 +135,15 @@
 upload-history:
   type: upload-history
   path: /tmp/upload-history
-  update-command: if [ ! -e /tmp/upload-history/ ]; then mkdir /tmp/upload-history/; fi; rm -rf /tmp/upload-history/*; wget -r --no-parent -nd -A debian-devel-* -P /tmp/upload-history http://qa.debian.org/~filippo/ddc/
+  #update-command: if [ ! -e /tmp/upload-history/ ]; then mkdir /tmp/upload-history/; fi; rm -rf /tmp/upload-history/*; wget -r --no-parent -nd -A debian-devel-* -P /tmp/upload-history http://qa.debian.org/~filippo/ddc/
+  update-command: if [ ! -e /tmp/upload-history/ ]; then mkdir /tmp/upload-history/; fi; rm -rf /tmp/upload-history/*; wget -r --no-parent -nd -A debian-devel-* -P /tmp/upload-history http://giunched.web.cs.unibo.it/nokeys/
 
 bugs:
   type: bugs
+  archived: false
   update-command: /org/udd.debian.org/mirrors/sync-bugs.debian.org
+
+bugs-archive:
+  type: bugs
+  archived: true
+  update-command: /org/udd.debian.org/mirrors/sync-bugs.debian.org

Modified: udd/src/udd/bugs_gatherer.pl
===================================================================
--- udd/src/udd/bugs_gatherer.pl	2008-07-27 12:02:38 UTC (rev 944)
+++ udd/src/udd/bugs_gatherer.pl	2008-07-27 12:53:57 UTC (rev 945)
@@ -1,5 +1,5 @@
 #!/usr/bin/perl
-# Last-Modified: <Sun Jul 27 11:36:21 2008>
+# Last-Modified: <Sun Jul 27 12:50:43 2008>
 
 use strict;
 use warnings;
@@ -38,6 +38,7 @@
 
 	my $config = LoadFile($ARGV[0]) or die "Could not load configuration: $!";
 	my $source = $ARGV[1];
+	my %src_config = %{$config->{$source}};
 
 	my $dbname = $config->{general}->{dbname};
 	# Connection to DB
@@ -53,21 +54,31 @@
 
 	my %binarytosource = ();
 
+	my $location = $src_config{archived} ? 'archive' : 'db_h';
 	# Read all bugs
-	foreach my $bug_nr (get_bugs()) {
-		#next unless $bug_nr =~ /0$/;
+	foreach my $bug_nr ($src_config{archived} ? get_bugs(archive => 1) : get_bugs()) {
+		next unless $bug_nr =~ /00$/;
 		# Fetch bug using Debbugs
 		# Yeah, great, why does get_bug_status not accept a location?
-		my %bug = %{get_bug_status(bug => $bug_nr, status => read_bug(bug => $bug_nr, location => 'db_h'))};
+		my $bug_ref = read_bug(bug => $bug_nr, location => $location) or (print STDERR "Could not read file for bug $bug_nr in $location; skipping\n" and next);
+		my %bug = %{get_bug_status(bug => $bug_nr, status => $bug_ref)};
 		
 		# Convert data where necessary
-		#my $date = strftime("%Y-%m-%d %T", localtime($bug{date}));
-		#my $log_modified = strftime("%Y-%m-%d %T", localtime($bug{log_modified}));
 		map { $bug{$_} = $dbh->quote($bug{$_}) } qw(subject originator owner pending);
 		my @found_versions = map { $dbh->quote($_) } @{$bug{found_versions}};
 		my @fixed_versions = map { $dbh->quote($_) } @{$bug{fixed_versions}};
 
+		# log_modified and date are not necessarily set. If they are not available, they
+		# are assumed to be epoch (i.e. bug #4170)
+		map {
+			if($bug{$_}) {
+				$bug{$_} = "$bug{$_}::abstime";
+			} else {
+				$bug{$_} = '0::abstime';
+			}
+		} qw{date log_modified};
 
+
 		if(not exists $binarytosource{$bug{package}}) {
 			$binarytosource{$bug{package}} = binarytosource($bug{package});
 		}
@@ -110,10 +121,10 @@
 
 
 		# Insert data into bugs table
-		my $query = "INSERT INTO bugs VALUES ($bug_nr, '$bug{package}', $source, $bug{date}::abstime, \
+		my $query = "INSERT INTO bugs VALUES ($bug_nr, '$bug{package}', $source, $bug{date}, \
 		             E$bug{pending}, '$bug{severity}', '$bug{keywords}', E$bug{originator}, E$bug{owner}, \
-					 E$bug{subject}, $bug{log_modified}::abstime, $present_in_stable,
-					 $present_in_testing, $present_in_unstable)";
+					 E$bug{subject}, $bug{log_modified}, $present_in_stable,
+					 $present_in_testing, $present_in_unstable, " . ($src_config{archived} ? 'True' : 'False') . ")";
 		# Execute insertion
 		my $sth = $dbh->prepare($query);
 		$sth->execute() or die $!;




More information about the Collab-qa-commits mailing list