Le mardi 24 mars 2009 à 17:01 +0100, Olivier Berger a écrit : > Le samedi 21 mars 2009 à 19:27 +0100, Lucas Nussbaum a écrit : > > > I would prefer to do that at import-time, like it is done for the > > sources and uploaders table (maintainer being split in maintainer_name > > and maintainer_email). > > > > The reason it is not done for the bugs importer is just that people have > > been lazy :-) I would very much appreciate a patch. > > > > Will try and do that. > Here's a proposed patch. I'm no perl hacker, so this may as well be nonsense... and I certainly didn't test it, having no access to a running UDD (well, the acquisition part). Hope this helps anyway. Best regards, -- Olivier BERGER <olivier.berger@it-sudparis.eu> http://www-public.it-sudparis.eu/~berger_o/ - OpenPGP-Id: 1024D/6B829EEC Ingénieur Recherche - Dept INF Institut TELECOM, SudParis (http://www.it-sudparis.eu/), Evry (France)
Index: sql/setup.sql
===================================================================
--- sql/setup.sql (révision 1421)
+++ sql/setup.sql (copie de travail)
@@ -103,7 +103,7 @@
CREATE TABLE bugs
(id int PRIMARY KEY, package text, source text, arrival timestamp, status text,
- severity bugs_severity, submitter text, owner text, done text, title text,
+ severity bugs_severity, submitter text, submitter_name text, submitter_address text, owner text, done text, title text,
last_modified timestamp, forwarded text, affects_stable boolean,
affects_testing boolean, affects_unstable boolean,
affects_experimental boolean);
Index: udd/bugs_gatherer.pl
===================================================================
--- udd/bugs_gatherer.pl (révision 1421)
+++ udd/bugs_gatherer.pl (copie de travail)
@@ -13,6 +13,7 @@
use DBI qw{:sql_types};
use YAML::Syck;
use Time::Local;
+use Email::Address;
use Debbugs::Bugs qw{get_bugs};
use Debbugs::Status qw{read_bug get_bug_status bug_presence};
@@ -177,7 +178,7 @@
my $location = $src_config{archived} ? 'archive' : 'db_h';
$table = $src_config{archived} ? $archived_table : $table;
# Read all bugs
- my $insert_bugs_handle = $dbh->prepare("INSERT INTO $table (id, package, source, arrival, status, severity, submitter, owner, done, title, forwarded, last_modified, affects_stable, affects_testing, affects_unstable, affects_experimental) VALUES (\$1, \$2, \$3, \$4::abstime, \$5, \$6, \$7, \$8, \$9, \$10, \$11, \$12::abstime, \$13, \$14, \$15, \$16)");
+ my $insert_bugs_handle = $dbh->prepare("INSERT INTO $table (id, package, source, arrival, status, severity, submitter, submitter_name, submitter_address, owner, done, title, forwarded, last_modified, affects_stable, affects_testing, affects_unstable, affects_experimental) VALUES (\$1, \$2, \$3, \$4::abstime, \$5, \$6, \$7, \$8, \$9, \$10, \$11, \$12::abstime, \$13, \$14, \$15, \$16)");
my $insert_bugs_packages_handle = $dbh->prepare("INSERT INTO ${table}_packages (id, package, source) VALUES (\$1, \$2, \$3)");
my $insert_bugs_found_handle = $dbh->prepare("INSERT INTO ${table}_found_in (id, version) VALUES (\$1, \$2)");
my $insert_bugs_fixed_handle = $dbh->prepare("INSERT INTO ${table}_fixed_in (id, version) VALUES (\$1, \$2)");
@@ -262,9 +263,20 @@
}
}
+ my ($submitter_name, $submitter_address);
+
+ my $address = ( Email::Address->parse($bug{originator}) )[0];
+ if ($address) {
+ $submitter_name = $address->phrase;
+ $submitter_address = $address->address;
+ } else {
+ $submitter_name = '';
+ $submitter_address = '';
+ }
+
# Insert data into bugs table
$insert_bugs_handle->execute($bug_nr, $bug{package}, $source, $bug{date}, $bug{pending},
- $bug{severity}, $bug{originator}, $bug{owner}, $bug{done}, $bug{subject}, $bug{forwarded}, $bug{log_modified},
+ $bug{severity}, $bug{originator}, $submitter_name, $submitter_address, $bug{owner}, $bug{done}, $bug{subject}, $bug{forwarded}, $bug{log_modified},
$present_in_stable, $present_in_testing, $present_in_unstable, $present_in_experimental) or die $!;
my $src;
Attachment:
signature.asc
Description: Ceci est une partie de message =?ISO-8859-1?Q?num=E9riquement?= =?ISO-8859-1?Q?_sign=E9e?=