X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fmake_maintainers.py;h=4a113b0c6a0793304ea2e6b8d87e146f53a1fcb1;hb=5d965c34b35048f8a8fab0a7a11f2943d833952d;hp=e88c7fc3ac6ece17566997bdaace7ea7d94eaab5;hpb=7087fb77f094f969fba18b033d3138c8c0e0aa99;p=dak.git diff --git a/dak/make_maintainers.py b/dak/make_maintainers.py index e88c7fc3..4a113b0c 100755 --- a/dak/make_maintainers.py +++ b/dak/make_maintainers.py @@ -131,35 +131,35 @@ def main(): session = DBConn().session() - for suite in cnf.SubTree("Suite").List(): - suite = suite.lower() - suite_priority = int(cnf["Suite::%s::Priority" % (suite)]) + for suite in session.query(Suite).all(): + suite_name = suite.suite_name + suite_priority = suite.priority # Source packages - if not gen_uploaders: + if gen_uploaders: q = session.execute("""SELECT s.source, s.version, m.name - FROM src_associations sa, source s, suite su, maintainer m + FROM src_associations sa, source s, suite su, maintainer m, src_uploaders srcu WHERE su.suite_name = :suite_name AND sa.suite = su.id AND sa.source = s.id - AND m.id = s.maintainer""", - {'suite_name': suite}) + AND m.id = srcu.maintainer + AND srcu.source = s.id""", + {'suite_name': suite_name}) else: q = session.execute("""SELECT s.source, s.version, m.name - FROM src_associations sa, source s, suite su, maintainer m, src_uploaders srcu + FROM src_associations sa, source s, suite su, maintainer m WHERE su.suite_name = :suite_name AND sa.suite = su.id AND sa.source = s.id - AND m.id = srcu.maintainer - AND srcu.source = s.id""", - {'suite_name': suite}) + AND m.id = s.maintainer""", + {'suite_name': suite_name}) for source in q.fetchall(): package = source[0] version = source[1] maintainer = fix_maintainer(source[2]) - if not gen_uploaders: - key = package - else: + if gen_uploaders: key = (package, maintainer) + else: + key = package if packages.has_key(key): if packages[key]["priority"] <= suite_priority: @@ -169,19 +169,19 @@ def main(): packages[key] = { "maintainer": maintainer, "priority": suite_priority, "version": version } # Binary packages - if not gen_uploaders: - q = session.execute("""SELECT b.package, b.source, b.maintainer, b.version - FROM bin_associations ba, binaries b, suite s - WHERE s.suite_name = :suite_name - AND ba.suite = s.id AND ba.bin = b.id""", - {'suite_name': suite}) - else: + if gen_uploaders: q = session.execute("""SELECT b.package, b.source, srcu.maintainer, b.version FROM bin_associations ba, binaries b, suite s, src_uploaders srcu WHERE s.suite_name = :suite_name AND ba.suite = s.id AND ba.bin = b.id AND b.source = srcu.source""", - {'suite_name': suite}) + {'suite_name': suite_name}) + else: + q = session.execute("""SELECT b.package, b.source, b.maintainer, b.version + FROM bin_associations ba, binaries b, suite s + WHERE s.suite_name = :suite_name + AND ba.suite = s.id AND ba.bin = b.id""", + {'suite_name': suite_name}) for binary in q.fetchall(): @@ -193,10 +193,10 @@ def main(): maintainer = get_maintainer_from_source(source_id, session) else: maintainer = get_maintainer(binary[2], session) - if not gen_uploaders: - key = package - else: + if gen_uploaders: key = (package, maintainer) + else: + key = package if packages.has_key(key): if packages[key]["priority"] <= suite_priority: @@ -232,14 +232,15 @@ def main(): package_keys = packages.keys() package_keys.sort() - if not gen_uploaders: + if gen_uploaders: + for (package, maintainer) in package_keys: + key = (package, maintainer) + lhs = "~".join([package, packages[key]["version"]]) + print "%-30s %s" % (lhs, maintainer) + else: for package in package_keys: lhs = "~".join([package, packages[package]["version"]]) print "%-30s %s" % (lhs, packages[package]["maintainer"]) - else: - for (package, maintainer) in package_keys: - lhs = "~".join([package, packages[package]["version"]]) - print "%-30s %s" % (lhs, maintainer) ################################################################################