]> git.decadent.org.uk Git - dak.git/commitdiff
Merge remote branch 'mhy/master'
authorMark Hymers <mhy@debian.org>
Fri, 29 Jul 2011 09:37:45 +0000 (10:37 +0100)
committerMark Hymers <mhy@debian.org>
Fri, 29 Jul 2011 09:37:45 +0000 (10:37 +0100)
dak/import_known_changes.py
dak/queue_report.py
daklib/queue_install.py

index b3f8e8a8359b2c7ac991862d174550e84222a3f7..5d666b6b6f4ef58b730cd3a33656cb829d9dd247 100755 (executable)
@@ -200,8 +200,18 @@ class ChangesGenerator(threading.Thread):
     def run(self):
         cnf = Config()
         count = 1
-        for directory in [ "Byhand", "Done", "New", "ProposedUpdates", "OldProposedUpdates" ]:
-            checkdir = cnf["Dir::Queue::%s" % (directory) ]
+
+        dirs = []
+        dirs.append(cnf['Dir::Done'])
+
+        for queue_name in [ "byhand", "new", "proposedupdates", "oldproposedupdates" ]:
+            queue = get_policy_queue(queue_name)
+            if queue:
+                dirs.append(os.path.abspath(queue.path))
+            else:
+                utils.warn("Could not find queue %s in database" % queue_name)
+
+        for checkdir in dirs
             if os.path.exists(checkdir):
                 print "Looking into %s" % (checkdir)
 
index 98c80f0af85dd0b50bcbed1e6e8b856b80a2d11e..cb5c05eda0813632553274876fc64601a70b287a 100755 (executable)
@@ -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()
index 8878e55c12486437f88e95e26cf75c383150a331..8d890d20ec528281e7161ad0c71d29d4787af87c 100755 (executable)
@@ -89,11 +89,11 @@ def package_to_queue(u, summary, short_summary, queue, chg, session, announce=No
 
 def is_unembargo(u):
    session = DBConn().session()
-   cnf = Config()
 
    # If we dont have the disembargo queue we are not on security and so not interested
    # in doing any security queue handling
-   if not get_policy_queue("disembargo"):
+   disembargo_queue = get_policy_queue("disembargo")
+   if not disembargo_queue:
        return False
 
    # If we already are in newstage, then it means this just got passed through and accepted
@@ -109,10 +109,8 @@ def is_unembargo(u):
        session.close()
        return True
 
-   oldcwd = os.getcwd()
-   os.chdir(cnf["Dir::Queue::Disembargo"])
-   disdir = os.getcwd()
-   os.chdir(oldcwd)
+   # Ensure we don't have a / on the end or something
+   disdir = os.path.abspath(disembargo_queue.path)
 
    ret = False