[Collab-qa-commits] r936 - udd/src/udd
neronus-guest at alioth.debian.org
neronus-guest at alioth.debian.org
Sat Jul 26 13:06:58 UTC 2008
Author: neronus-guest
Date: 2008-07-26 13:06:58 +0000 (Sat, 26 Jul 2008)
New Revision: 936
Modified:
udd/src/udd/bugs_gatherer.pl
udd/src/udd/gatherer.py
udd/src/udd/packages_gatherer.py
udd/src/udd/sources_gatherer.py
udd/src/udd/testing_migrations_gatherer.py
Log:
* Removed bugs gatherer optimization
* Code cleanups
* comments
Modified: udd/src/udd/bugs_gatherer.pl
===================================================================
--- udd/src/udd/bugs_gatherer.pl 2008-07-26 12:46:07 UTC (rev 935)
+++ udd/src/udd/bugs_gatherer.pl 2008-07-26 13:06:58 UTC (rev 936)
@@ -1,5 +1,5 @@
#!/usr/bin/perl
-# Last-Modified: <Thu Jul 24 17:54:33 2008>
+# Last-Modified: <Sat Jul 26 12:01:01 2008>
use strict;
use warnings;
@@ -45,33 +45,17 @@
# We want to commit the transaction as a hole at the end
$dbh->{AutoCommit} = 0;
- # We want to know the last modification date of the bugs
- my $sth = $dbh->prepare("SELECT MAX(last_modified) FROM bugs");
- $sth->execute();
- my $max_last_modified = $sth->fetchrow_array();
+ #delete the bug, if it exists
+ $dbh->prepare("DELETE FROM bugs")->execute();
+ $dbh->prepare("DELETE FROM bug_found_in")->execute();
+ $dbh->prepare("DELETE FROM bug_fixed_in")->execute();
+ $dbh->prepare("DELETE FROM bug_merged_with")->execute();
- #$dbh->prepare("DELETE FROM bugs")->execute();
- #$dbh->prepare("DELETE from bug_found_in")->execute();
- #$dbh->prepare("DELETE from bug_fixed_in")->execute();
- #$dbh->prepare("DELETE FROM bug_merged_with")->execute();
-
- my %pkgsrcmap = %{getpkgsrc()};
-
- my $counter = 0;
-
- my ($year, $month, $day, $hour, $minute, $second) = parse_time($max_last_modified);
- $max_last_modified = timelocal($second, $minute, $hour, $day, $month-1, $year);
-
# Read all bugs
foreach my $bug_nr (get_bugs()) {
# Fetch bug using Debbugs
my %bug = %{get_bug_status($bug_nr)};
-
- # Check if the bug was last changed since we updated the DB
- next if $max_last_modified > $bug{log_modified};
-
- print "Working bug $bug_nr\n";
-
+
# 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}));
@@ -114,16 +98,11 @@
$present_in_unstable = 'TRUE';
}
- #delete the bug, if it exists
- $dbh->prepare("DELETE FROM bugs WHERE id = $bug_nr")->execute();
- $dbh->prepare("DELETE FROM bug_found_in WHERE id = $bug_nr")->execute();
- $dbh->prepare("DELETE FROM bug_fixed_in WHERE id = $bug_nr")->execute();
- $dbh->prepare("DELETE FROM bug_merged_with WHERE bug = $bug_nr")->execute();
# Insert data into bugs table
my $query = "INSERT INTO bugs VALUES ($bug_nr, '$bug{package}', $source, '$date', \
- $bug{pending}, '$bug{severity}', '$bug{keywords}', $bug{originator}, $bug{owner}, \
- $bug{subject}, '$log_modified', $present_in_stable,
+ E$bug{pending}, '$bug{severity}', '$bug{keywords}', E$bug{originator}, E$bug{owner}, \
+ E$bug{subject}, '$log_modified', $present_in_stable,
$present_in_testing, $present_in_unstable)";
# Execute insertion
my $sth = $dbh->prepare($query);
@@ -142,7 +121,6 @@
$query = "INSERT INTO bug_merged_with VALUES ($bug_nr, $mergee)";
$dbh->prepare($query)->execute() or die $!;
}
- print "$counter\n" if ++$counter % 500 == 0;
}
$dbh->commit();
Modified: udd/src/udd/gatherer.py
===================================================================
--- udd/src/udd/gatherer.py 2008-07-26 12:46:07 UTC (rev 935)
+++ udd/src/udd/gatherer.py 2008-07-26 13:06:58 UTC (rev 936)
@@ -1,15 +1,20 @@
-"""
-This is the base class of all gatherers which want to use the python
-interface to be called by the dispatcher
-"""
+# This file is part of the Ultimate Debian Database project
+class gatherer:
+ """
+ This is the base class of all gatherers which want to use the python
+ interface to be called by the dispatcher
-class gatherer:
+ Attributes:
+ connection: The connection to the SQL database
+ config: The hashmap representing the configuration"""
def __init__(self, connection, config):
self.connection = connection
self.config = config
def run(self, source):
+ """Called by the dispatcher for a source"""
raise NotImplementedError
def cursor(self):
+ """Return the cursor for the current connection"""
return self.connection.cursor()
Modified: udd/src/udd/packages_gatherer.py
===================================================================
--- udd/src/udd/packages_gatherer.py 2008-07-26 12:46:07 UTC (rev 935)
+++ udd/src/udd/packages_gatherer.py 2008-07-26 13:06:58 UTC (rev 936)
@@ -1,5 +1,6 @@
-#/usr/bin/env python
-# Last-Modified: <Sun Jun 29 11:49:49 2008>
+# /usr/bin/env python
+# Last-Modified: <Sat Jul 26 12:58:43 2008>
+# This file is a part of the Ultimate Debian Database project
import debian_bundle.deb822
import gzip
@@ -15,7 +16,12 @@
return packages_gatherer(connection, config)
class packages_gatherer(gatherer):
+ "This class imports the data from Packages.gz files into the database"
# For efficiency, these are dictionaries
+ # mandatory: list of fields which each package has to provide
+ # non_mandatory: list of fields which are possibly provided by packages
+ # ignorable: fields which are not useful for the database,
+ # but for which no warning should be printed
mandatory = {'Package': 0, 'Version': 0, 'Architecture': 0, 'Maintainer': 0,
'Description': 0}
non_mandatory = {'Source': 0, 'Essential': 0, 'Depends': 0, 'Recommends': 0,
@@ -140,11 +146,10 @@
aux.debug = self.config['general']['debug']
- # Get distribution ID. If it does not exist, create it
+ # Get distribution ID
self._distr = src_cfg['distribution']
cur = self.cursor()
- #cur.execute("PREPARE pkg_insert AS INSERT INTO pkgs (name, distr_id, arch_id, version, src_id) VALUES ($1, $2, $3, $4, $5);")
# For every part and every architecture, import the packages into the DB
for comp in src_cfg['components']:
Modified: udd/src/udd/sources_gatherer.py
===================================================================
--- udd/src/udd/sources_gatherer.py 2008-07-26 12:46:07 UTC (rev 935)
+++ udd/src/udd/sources_gatherer.py 2008-07-26 13:06:58 UTC (rev 936)
@@ -1,5 +1,6 @@
#/usr/bin/env python
-# Last-Modified: <Thu Jul 24 12:26:00 2008>
+# Last-Modified: <Sat Jul 26 12:59:30 2008>
+# This file is a part of the Ultimate Debian Database project
import debian_bundle.deb822
import gzip
@@ -15,6 +16,7 @@
return sources_gatherer(connection, config)
class sources_gatherer(gatherer):
+ "This class imports the data from Sources.gz files into the database"
mandatory = {'Format': 0, 'Maintainer': 0, 'Package': 0, 'Version': 0, 'Files': 0}
non_mandatory = {'Uploaders': 0, 'Binary': 0, 'Architecture': 0,
'Standards-Version': 0, 'Homepage': 0, 'Build-Depends': 0,
Modified: udd/src/udd/testing_migrations_gatherer.py
===================================================================
--- udd/src/udd/testing_migrations_gatherer.py 2008-07-26 12:46:07 UTC (rev 935)
+++ udd/src/udd/testing_migrations_gatherer.py 2008-07-26 13:06:58 UTC (rev 936)
@@ -1,5 +1,7 @@
-# Last-Modified: <Sat Jul 12 17:31:22 2008>
+# Last-Modified: <Sat Jul 26 13:03:16 2008>
+# This file is a part of the Ultimate Debian Database Project
+
from gatherer import gatherer
from aux import ConfigException, quote
from time import strptime
@@ -11,6 +13,9 @@
class testing_migrations_gatherer(gatherer):
+ """This class imports testing migrations data into the database.
+
+ For the files, see http://qa.debian.org/~lucas/testing-status.raw"""
def __init__(self, connection, config):
gatherer.__init__(self, connection, config)
@@ -35,8 +40,6 @@
exec "is_null = %s == ZERO_DATE" % field
if is_null:
exec "%s = 'NULL'" % field
- #else:
- #exec field + " = strptime('%Y-%m-%d', " + field + ")"
else:
exec "%s = quote(%s)" % (field, field)
More information about the Collab-qa-commits
mailing list