X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fqueue_report.py;h=ec7b3a7d2fe55abbf089dcf65f0910f97ef3e1d5;hb=adcc4dcadd87c31ca52c4ec6b485375b56579e46;hp=7176a886a8d76a9d05b6050c88b5993b84f7955e;hpb=a6fe641395cb2f5f2a48d7fe1ffef2ff9c701165;p=dak.git diff --git a/dak/queue_report.py b/dak/queue_report.py index 7176a886..ec7b3a7d 100755 --- a/dak/queue_report.py +++ b/dak/queue_report.py @@ -34,16 +34,6 @@ ################################################################################ -import warnings -warnings.filterwarnings('ignore', \ - "apt_pkg\.ParseTagFile\(\) is deprecated\. Please see apt_pkg\.TagFile\(\) for the replacement\.", \ - DeprecationWarning) -warnings.filterwarnings('ignore', \ - "Attribute '.*' of the 'apt_pkg\.TagFile' object is deprecated, use '.*' instead\.", \ - DeprecationWarning) - -################################################################################ - from copy import copy import glob, os, stat, sys, time import apt_pkg @@ -54,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 * @@ -66,7 +57,7 @@ row_number = 0 def usage(exit_code=0): print """Usage: dak queue-report -Prints a report of packages in queue directories (usually new and byhand). +Prints a report of packages in queues (usually new and byhand). -h, --help show this help and exit. -8, --822 writes 822 formated output to the location set in dak.conf @@ -635,15 +626,15 @@ def main(): # Initialize db so we can get the NEW comments dbconn = DBConn() - directories = [ ] + queue_names = [ ] if Cnf.has_key("Queue-Report::Options::Directories"): for i in Cnf["Queue-Report::Options::Directories"].split(","): - directories.append(i) + queue_names.append(i) elif Cnf.has_key("Queue-Report::Directories"): - directories = Cnf.ValueList("Queue-Report::Directories") + queue_names = Cnf.ValueList("Queue-Report::Directories") else: - directories = [ "byhand", "new" ] + queue_names = [ "byhand", "new" ] if Cnf.has_key("Queue-Report::Options::Rrd"): rrd_dir = Cnf["Queue-Report::Options::Rrd"] @@ -657,9 +648,16 @@ def main(): # Open the report file f = open(Cnf["Queue-Report::ReportLocations::822Location"], "w") - for directory in directories: - changes_files = glob.glob("%s/*.changes" % (Cnf["Dir::Queue::%s" % (directory)])) - process_changes_files(changes_files, directory, f, rrd_dir) + session = dbconn.session() + + for queue_name in queue_names: + queue = get_policy_queue(queue_name, session) + if queue: + directory = os.path.abspath(queue.path) + changes_files = glob.glob("%s/*.changes" % (directory)) + process_changes_files(changes_files, os.path.basename(directory), f, rrd_dir) + else: + utils.warn("Cannot find queue %s" % queue_name) if Cnf.has_key("Queue-Report::Options::822"): f.close()