[dak/master 3/3] Look up queue paths in database
Signed-off-by: Mark Hymers <mhy@debian.org>
---
dak/queue_report.py | 23 +++++++++++++++--------
1 files changed, 15 insertions(+), 8 deletions(-)
diff --git a/dak/queue_report.py b/dak/queue_report.py
index 98c80f0..cb5c05e 100755
--- a/dak/queue_report.py
+++ b/dak/queue_report.py
@@ -56,7 +56,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
@@ -625,15 +625,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"]
@@ -647,9 +647,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, directory, f, rrd_dir)
+ else:
+ utils.warn("Cannot find queue %s" % queue_name)
if Cnf.has_key("Queue-Report::Options::822"):
f.close()
--
1.7.2.5
Reply to: