X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fqueue_report.py;h=9de1f5459dbfa4ac72f63cc1e861026f71609138;hb=7a23455cf4a831e599172f48ce29178e64dc09db;hp=cb5c05eda0813632553274876fc64601a70b287a;hpb=81816f8c1be86651dd5200440ab09caccf1460b2;p=dak.git diff --git a/dak/queue_report.py b/dak/queue_report.py index cb5c05ed..9de1f545 100755 --- a/dak/queue_report.py +++ b/dak/queue_report.py @@ -44,7 +44,8 @@ except ImportError: from daklib import utils from daklib.queue import Upload -from daklib.dbconn import DBConn, has_new_comment, DBChange, DBSource, get_uid_from_fingerprint +from daklib.dbconn import DBConn, has_new_comment, DBChange, DBSource, \ + get_uid_from_fingerprint, get_policy_queue from daklib.textutils import fix_maintainer from daklib.dak_exceptions import * @@ -178,6 +179,7 @@ def header(): Debian NEW and BYHAND Packages @@ -245,8 +248,8 @@ def table_header(type, source_count, total_count): print "

Summary for: %s

" % (type) print "

Summary for: binary-%s only

" % (type) print """ +

Click to toggle all/binary-NEW packages

-

Click to toggle all/binary-NEW packages

" % (trclass) - print "" % (source) + if "binNEW" in trclass: + print "" % (source) + else: + print "" % {'source': source} print "
""" print "Package count in %s: %s |  Total Package count: %s" % (type, source_count, total_count) @@ -289,7 +292,10 @@ def table_row(source, version, arch, last_mod, maint, distribution, closes, fing else: print "
%s%s%(source)s" for vers in version.split(): print "%s
" % (source, utils.html_escape(vers), utils.html_escape(vers)) @@ -310,8 +316,8 @@ def table_row(source, version, arch, last_mod, maint, distribution, closes, fing if sponsor: try: (login, domain) = sponsor.split("@", 1) - print "Sponsor: %s@debian.org
" % (utils.html_escape(login), utils.html_escape(login)) - except Exception, e: + print "Sponsor: %s@debian.org
" % (utils.html_escape(login), utils.html_escape(login)) + except Exception as e: pass print "Fingerprint: %s" % (fingerprint) @@ -354,7 +360,7 @@ RRA:MAX:0.5:288:795 try: rc = rrdtool.create(*create) ru = rrdtool.update(*update) - except rrdtool.error, e: + except rrdtool.error as e: print('warning: queue_report: rrdtool error, skipping %s.rrd: %s' % (type, e)) except NameError: pass @@ -364,6 +370,7 @@ RRA:MAX:0.5:288:795 def process_changes_files(changes_files, type, log, rrd_dir): msg = "" cache = {} + unprocessed = [] # Read in all the .changes files for filename in changes_files: try: @@ -371,12 +378,15 @@ def process_changes_files(changes_files, type, log, rrd_dir): u.load_changes(filename) cache[filename] = copy(u.pkg.changes) cache[filename]["filename"] = filename - except Exception, e: + except Exception as e: print "WARNING: Exception %s" % e continue # Divide the .changes into per-source groups per_source = {} for filename in cache.keys(): + if not cache[filename].has_key("source"): + unprocessed.append(filename) + continue source = cache[filename]["source"] if not per_source.has_key(source): per_source[source] = {} @@ -437,7 +447,7 @@ def process_changes_files(changes_files, type, log, rrd_dir): session = DBConn().session() dbc = session.query(DBChange).filter_by(changesname=changesbase).one() session.close() - except Exception, e: + except Exception as e: print "Can't find changes file in NEW for %s (%s)" % (changesbase, e) dbc = None @@ -446,7 +456,7 @@ def process_changes_files(changes_files, type, log, rrd_dir): (maintainer["maintainer822"], maintainer["maintainer2047"], maintainer["maintainername"], maintainer["maintaineremail"]) = \ fix_maintainer (j["maintainer"]) - except ParseMaintError, msg: + except ParseMaintError as msg: print "Problems while parsing maintainer address\n" maintainer["maintainername"] = "Unknown" maintainer["maintaineremail"] = "Unknown" @@ -456,7 +466,7 @@ def process_changes_files(changes_files, type, log, rrd_dir): (changeby["changedby822"], changeby["changedby2047"], changeby["changedbyname"], changeby["changedbyemail"]) = \ fix_maintainer (j["changed-by"]) - except ParseMaintError, msg: + except ParseMaintError as msg: (changeby["changedby822"], changeby["changedby2047"], changeby["changedbyname"], changeby["changedbyemail"]) = \ ("", "", "", "") @@ -549,7 +559,7 @@ def process_changes_files(changes_files, type, log, rrd_dir): (name, mail) = changedby.split(":", 1) log.write("Changed-By: " + name + " <"+mail+">" + "\n") if sponsor: - log.write("Sponsored-By: " + sponsor + "\n") + log.write("Sponsored-By: " + "@".join(sponsor.split("@")[:2]) + "\n") log.write("Distribution:") for dist in distribution: log.write(" " + dist) @@ -595,6 +605,12 @@ def process_changes_files(changes_files, type, log, rrd_dir): print "%s %s source package%s / %s %s package%s in total." % (source_count, type, plural(source_count), total_count, type, plural(total_count)) print + if len(unprocessed): + print "UNPROCESSED" + print "-----------" + for u in unprocessed: + print u + print ################################################################################ @@ -613,9 +629,9 @@ def main(): if not Cnf.has_key("Queue-Report::Options::%s" % (i)): Cnf["Queue-Report::Options::%s" % (i)] = "" - apt_pkg.ParseCommandLine(Cnf, Arguments, sys.argv) + apt_pkg.parse_commandline(Cnf, Arguments, sys.argv) - Options = Cnf.SubTree("Queue-Report::Options") + Options = Cnf.subtree("Queue-Report::Options") if Options["Help"]: usage() @@ -631,7 +647,7 @@ def main(): for i in Cnf["Queue-Report::Options::Directories"].split(","): queue_names.append(i) elif Cnf.has_key("Queue-Report::Directories"): - queue_names = Cnf.ValueList("Queue-Report::Directories") + queue_names = Cnf.value_list("Queue-Report::Directories") else: queue_names = [ "byhand", "new" ] @@ -654,7 +670,7 @@ def main(): if queue: directory = os.path.abspath(queue.path) changes_files = glob.glob("%s/*.changes" % (directory)) - process_changes_files(changes_files, directory, f, rrd_dir) + process_changes_files(changes_files, os.path.basename(directory), f, rrd_dir) else: utils.warn("Cannot find queue %s" % queue_name)