[Collab-qa-commits] r1298 - in udd: . sql udd
lucas at alioth.debian.org
lucas at alioth.debian.org
Fri Sep 26 21:38:26 UTC 2008
Author: lucas
Date: 2008-09-26 21:38:25 +0000 (Fri, 26 Sep 2008)
New Revision: 1298
Modified:
udd/TODO
udd/config-standalone.yaml
udd/config.yaml
udd/sql/setup.sql
udd/sql/upgrade.sql
udd/udd/sources_gatherer.py
Log:
split Uploaders: into a seperate table. also split Maintainer into maintainer_name and maintainer_email in sources.
Modified: udd/TODO
===================================================================
--- udd/TODO 2008-09-26 20:32:28 UTC (rev 1297)
+++ udd/TODO 2008-09-26 21:38:25 UTC (rev 1298)
@@ -32,7 +32,6 @@
operator '=' used with type text should only check the package name,
with another pkg should check both pkg and version. Should be pretty
DWIM.
-- (prio: high) Add Uploaders (zack want them to export that data to the BTS)
bugs.debian.org
---------------
Modified: udd/config-standalone.yaml
===================================================================
--- udd/config-standalone.yaml 2008-09-26 20:32:28 UTC (rev 1297)
+++ udd/config-standalone.yaml 2008-09-26 21:38:25 UTC (rev 1298)
@@ -37,6 +37,7 @@
distribution: debian
packages-table: packages
sources-table: sources
+ uploaders-table: uploaders
packages-schema: packages
sources-schema: sources
release: lenny
@@ -52,6 +53,7 @@
distribution: debian
packages-table: packages
sources-table: sources
+ uploaders-table: uploaders
packages-schema: packages
sources-schema: sources
release: experimental
@@ -67,6 +69,7 @@
distribution: debian
packages-table: packages
sources-table: sources
+ uploaders-table: uploaders
packages-schema: packages
sources-schema: sources
release: sid
@@ -81,6 +84,7 @@
distribution: debian
packages-table: packages
sources-table: sources
+ uploaders-table: uploaders
packages-schema: packages
sources-schema: sources
release: etch
@@ -95,6 +99,7 @@
distribution: debian-backports
packages-table: packages
sources-table: sources
+ uploaders-table: uploaders
packages-schema: packages
sources-schema: sources
release: etch
@@ -109,6 +114,7 @@
distribution: debian-volatile
packages-table: packages
sources-table: sources
+ uploaders-table: uploaders
packages-schema: packages
sources-schema: sources
release: etch
@@ -123,6 +129,7 @@
release: intrepid
packages-table: ubuntu_packages
sources-table: ubuntu_sources
+ uploaders-table: ubuntu_uploaders
packages-schema: packages
sources-schema: sources
update-command: /org/udd.debian.net/udd/scripts/sync-dist.sh archive.ubuntu.com::ubuntu/dists/intrepid/ /org/udd.debian.net/mirrors/ubuntu/intrepid
@@ -136,6 +143,7 @@
release: hardy
packages-table: ubuntu_packages
sources-table: ubuntu_sources
+ uploaders-table: ubuntu_uploaders
packages-schema: packages
sources-schema: sources
update-command: /org/udd.debian.net/udd/scripts/sync-dist.sh archive.ubuntu.com::ubuntu/dists/hardy/ /org/udd.debian.net/mirrors/ubuntu/hardy
Modified: udd/config.yaml
===================================================================
--- udd/config.yaml 2008-09-26 20:32:28 UTC (rev 1297)
+++ udd/config.yaml 2008-09-26 21:38:25 UTC (rev 1298)
@@ -37,6 +37,7 @@
distribution: debian
packages-table: packages
sources-table: sources
+ uploaders-table: uploaders
packages-schema: packages
sources-schema: sources
release: lenny
@@ -51,6 +52,7 @@
distribution: debian
packages-table: packages
sources-table: sources
+ uploaders-table: uploaders
packages-schema: packages
sources-schema: sources
release: experimental
@@ -65,6 +67,7 @@
distribution: debian
packages-table: packages
sources-table: sources
+ uploaders-table: uploaders
packages-schema: packages
sources-schema: sources
release: sid
@@ -78,6 +81,7 @@
distribution: debian
packages-table: packages
sources-table: sources
+ uploaders-table: uploaders
packages-schema: packages
sources-schema: sources
release: etch
@@ -91,6 +95,7 @@
distribution: debian-backports
packages-table: packages
sources-table: sources
+ uploaders-table: uploaders
packages-schema: packages
sources-schema: sources
release: etch
@@ -104,6 +109,7 @@
distribution: debian-volatile
packages-table: packages
sources-table: sources
+ uploaders-table: uploaders
packages-schema: packages
sources-schema: sources
release: etch
@@ -117,6 +123,7 @@
release: intrepid
packages-table: ubuntu_packages
sources-table: ubuntu_sources
+ uploaders-table: ubuntu_uploaders
packages-schema: packages
sources-schema: sources
update-command: /org/udd.debian.net/udd/scripts/sync-dist.sh archive.ubuntu.com::ubuntu/dists/intrepid/ /org/udd.debian.net/mirrors/ubuntu/intrepid
@@ -130,6 +137,7 @@
release: hardy
packages-table: ubuntu_packages
sources-table: ubuntu_sources
+ uploaders-table: ubuntu_uploaders
packages-schema: packages
sources-schema: sources
update-command: /org/udd.debian.net/udd/scripts/sync-dist.sh archive.ubuntu.com::ubuntu/dists/hardy/ /org/udd.debian.net/mirrors/ubuntu/hardy
Modified: udd/sql/setup.sql
===================================================================
--- udd/sql/setup.sql 2008-09-26 20:32:28 UTC (rev 1297)
+++ udd/sql/setup.sql 2008-09-26 21:38:25 UTC (rev 1298)
@@ -1,6 +1,7 @@
-- Sources and Packages
CREATE TABLE sources
- (source text, version text, maintainer text, format text, files text,
+ (source text, version text, maintainer text,
+ maintainer_name text, maintainer_email text, format text, files text,
uploaders text, bin text, architecture text, standards_version text,
homepage text, build_depends text, build_depends_indep text,
build_conflicts text, build_conflicts_indep text, priority text, section
@@ -12,6 +13,13 @@
GRANT SELECT ON sources TO PUBLIC;
+-- no primary key possible: duplicate rows are possible because duplicate entries
+-- in Uploaders: are allowed. yes.
+CREATE TABLE uploaders (source text, version text, distribution text,
+ release text, component text, name text, email text);
+
+GRANT SELECT ON uploaders TO PUBLIC;
+
CREATE INDEX sources_distrelcomp_idx on sources(distribution, release, component);
CREATE TABLE packages_summary ( package text, version text, source text,
@@ -40,7 +48,8 @@
-- Ubuntu sources and packages
CREATE TABLE ubuntu_sources
- (source text, version text, maintainer text, format text, files text,
+ (source text, version text, maintainer text,
+ maintainer_name text, maintainer_email text, format text, files text,
uploaders text, bin text, architecture text, standards_version text,
homepage text, build_depends text, build_depends_indep text,
build_conflicts text, build_conflicts_indep text, priority text, section
@@ -52,6 +61,13 @@
CREATE INDEX ubuntu_sources_distrelcomp_idx on ubuntu_sources(distribution, release, component);
+-- no primary key possible: duplicate rows are possible because duplicate entries
+-- in Uploaders: are allowed. yes.
+CREATE TABLE ubuntu_uploaders (source text, version text, distribution text,
+ release text, component text, name text, email text);
+
+GRANT SELECT ON ubuntu_uploaders TO PUBLIC;
+
CREATE TABLE ubuntu_packages_summary ( package text, version text, source text,
source_version text, maintainer text, distribution text, release text,
component text,
Modified: udd/sql/upgrade.sql
===================================================================
--- udd/sql/upgrade.sql 2008-09-26 20:32:28 UTC (rev 1297)
+++ udd/sql/upgrade.sql 2008-09-26 21:38:25 UTC (rev 1298)
@@ -16,3 +16,8 @@
-- 2008-09-22: Properly name affects_stable and affects_unstable
ALTER TABLE archived_bugs rename affects_sarchived_table to affects_stable;
ALTER TABLE archived_bugs rename affects_unsarchived_table to affects_unstable;
+-- 2008-09-26: add maintainer_name and maintainer_email to sources.
+ALTER TABLE sources add maintainer_name text;
+ALTER TABLE sources add maintainer_email text;
+ALTER TABLE ubuntu_sources add maintainer_name text;
+ALTER TABLE ubuntu_sources add maintainer_email text;
Modified: udd/udd/sources_gatherer.py
===================================================================
--- udd/udd/sources_gatherer.py 2008-09-26 20:32:28 UTC (rev 1297)
+++ udd/udd/sources_gatherer.py 2008-09-26 21:38:25 UTC (rev 1298)
@@ -11,6 +11,7 @@
from aux import ConfigException
from aux import null_or_quote, quote
from gatherer import gatherer
+import email.utils
def get_gatherer(connection, config, source):
return sources_gatherer(connection, config, source)
@@ -86,8 +87,10 @@
cur = self.cursor()
for control in debian_bundle.deb822.Packages.iter_paragraphs(file):
d = self.build_dict(control)
+ d['maintainer_name'], d['maintainer_email'] = email.utils.parseaddr(d['Maintainer'])
query = """EXECUTE source_insert
- (%(Package)s, %(Version)s, %(Maintainer)s, %(Format)s, %(Files)s,
+ (%(Package)s, %(Version)s, %(Maintainer)s,
+ %(maintainer_name)s, %(maintainer_email)s, %(Format)s, %(Files)s,
%(Uploaders)s, %(Binary)s, %(Architecture)s, %(Standards-Version)s,
%(Homepage)s, %(Build-Depends)s, %(Build-Depends-Indep)s,
%(Build-Conflicts)s, %(Build-Conflicts-Indep)s, %(Priority)s,
@@ -96,6 +99,16 @@
%(Original-Maintainer)s, %(Dm-Upload-Allowed)s)
"""
cur.execute(query, d)
+ ud = {}
+ ud['Package'] = d['Package']
+ ud['Version'] = d['Version']
+ if d['Uploaders']:
+ for uploader in email.utils.getaddresses([d['Uploaders']]):
+ ud['Name'] = uploader[0]
+ ud['Email'] = uploader[1]
+ query = """EXECUTE uploader_insert (%(Package)s, %(Version)s, %(Name)s,
+ %(Email)s)"""
+ cur.execute(query, ud)
def tables(self):
return [self.my_config['sources-table']]
@@ -105,6 +118,8 @@
table = src_cfg['sources-table']
+ utable = src_cfg['uploaders-table']
+
aux.debug = self.config['general']['debug']
cur = self.cursor()
@@ -114,9 +129,12 @@
cur.execute("DELETE from %s WHERE Distribution = '%s' AND\
release = '%s' AND component = '%s'"\
% (table, src_cfg['distribution'], src_cfg['release'], comp))
+ cur.execute("DELETE from %s WHERE Distribution = '%s' AND\
+ release = '%s' AND component = '%s'"\
+ % (utable, src_cfg['distribution'], src_cfg['release'], comp))
try:
query = """PREPARE source_insert as INSERT INTO %s
- (Source, Version, Maintainer, Format, Files, Uploaders, Bin,
+ (Source, Version, Maintainer, Maintainer_name, Maintainer_email, Format, Files, Uploaders, Bin,
Architecture, Standards_Version, Homepage, Build_Depends,
Build_Depends_Indep, Build_Conflicts, Build_Conflicts_Indep, Priority,
Section, Vcs_Type, Vcs_Url, Vcs_Browser, python_version, checksums_sha1,
@@ -124,9 +142,14 @@
Distribution, Release, Component)
VALUES
($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16,
- $17, $18, $19, $20, $21, $22, $23, $24, '%s', '%s', '%s')"""\
+ $17, $18, $19, $20, $21, $22, $23, $24, $25, $26, '%s', '%s', '%s')"""\
% (table, src_cfg['distribution'], src_cfg['release'], comp)
cur.execute(query)
+ query = """PREPARE uploader_insert as INSERT INTO %s
+ (Source, Version, Distribution, Release, Component, Name, Email) VALUES
+ ($1, $2, '%s', '%s', '%s', $3, $4) """ % \
+ (utable, src_cfg['distribution'], src_cfg['release'], comp)
+ cur.execute(query)
# aux.print_debug("Reading file " + path)
# Copy content from gzipped file to temporary file, so that apt_pkg is
@@ -142,6 +165,7 @@
except IOError, (e, message):
print "Could not read packages from %s: %s" % (path, message)
cur.execute("DEALLOCATE source_insert")
+ cur.execute("DEALLOCATE uploader_insert")
self.print_warnings()
More information about the Collab-qa-commits
mailing list