]> git.decadent.org.uk Git - dak.git/blobdiff - daklib/changesutils.py
Fix problem with uploaders containing a "," sign in their name
[dak.git] / daklib / changesutils.py
index 3f55fc14a2669028a624a4a0a35be0b2b184ebcb..0aca121a9f3ec24e03f74ea5a978b733785c2147 100644 (file)
@@ -149,24 +149,32 @@ def changes_to_queue(upload, srcqueue, destqueue, session):
     """Move a changes file to a different queue and mark as approved for the
        source queue"""
 
-    chg = session.query(DBChange).filter_by(changesname=os.path.basename(upload.pkg.changes_file)).one()
-    chg.approved_for = srcqueue.policy_queue_id
+    try:
+        chg = session.query(DBChange).filter_by(changesname=os.path.basename(upload.pkg.changes_file)).one()
+    except NoResultFound:
+        return False
+
+    chg.approved_for_id = srcqueue.policy_queue_id
 
     for f in chg.files:
         # update the changes_pending_files row
         f.queue = destqueue
         utils.move(os.path.join(srcqueue.path, f.filename), destqueue.path, perms=int(destqueue.perms, 8))
 
-    utils.move(os.path.join(new.path, upload.pkg.changes_file), destqueue.path, perms=int(destqueue.perms, 8))
+    utils.move(os.path.join(srcqueue.path, upload.pkg.changes_file), destqueue.path, perms=int(destqueue.perms, 8))
     chg.in_queue = destqueue
     session.commit()
 
+    return True
+
 __all__.append('changes_to_queue')
 
-def new_accept(upload, session):
+def new_accept(upload, dry_run, session):
     print "ACCEPT"
-    cnf = Config()
-    if not Options["No-Action"]:
+
+    if not dry_run:
+        cnf = Config()
+
         (summary, short_summary) = upload.build_summaries()
 
         # XXX: mhy: I think this is wrong as these are all attributes on the