]> git.decadent.org.uk Git - dak.git/blobdiff - dak/process_upload.py
Merge remote-tracking branch 'jcristau/cs-set-log-suite'
[dak.git] / dak / process_upload.py
index 8c5e3e29f29cc87475239f81d99d6a852774aaf9..d5425e058ccfa2de6c87dc43e8ec24cce83c5915 100755 (executable)
@@ -243,7 +243,7 @@ def get_processed_upload(upload):
 
     pu.changes = open(upload.changes.path, 'r').read()
     pu.changes_filename = upload.changes.filename
-    pu.sourceful = upload.changes.source is not None
+    pu.sourceful = upload.changes.sourceful
     pu.source = control.get('Source')
     pu.version = control.get('Version')
     pu.architecture = control.get('Architecture')
@@ -297,7 +297,6 @@ def accept(directory, upload):
 
 @try_or_reject
 def accept_to_new(directory, upload):
-    cnf = Config()
 
     Logger.log(['ACCEPT-TO-NEW', upload.changes.filename])
     print "ACCEPT-TO-NEW"
@@ -379,8 +378,6 @@ def action(directory, upload):
     if Options["No-Action"] or Options["Automatic"]:
         answer = 'S'
 
-    queuekey = ''
-
     print summary
     print
     print "\n".join(package_info)
@@ -454,7 +451,7 @@ def unlink_if_exists(path):
         if e.errno != errno.ENOENT:
             raise
 
-def process_it(directory, changes, keyrings, session):
+def process_it(directory, changes, keyrings):
     global Logger
 
     print "\n{0}\n".format(changes.filename)
@@ -463,6 +460,13 @@ def process_it(directory, changes, keyrings, session):
     with daklib.archive.ArchiveUpload(directory, changes, keyrings) as upload:
         processed = action(directory, upload)
         if processed and not Options['No-Action']:
+            session = DBConn().session()
+            history = SignatureHistory.from_signed_file(upload.changes)
+            if history.query(session) is None:
+                session.add(history)
+                session.commit()
+            session.close()
+
             unlink_if_exists(os.path.join(directory, changes.filename))
             for fn in changes.files:
                 unlink_if_exists(os.path.join(directory, fn))
@@ -473,6 +477,7 @@ def process_changes(changes_filenames):
     session = DBConn().session()
     keyrings = session.query(Keyring).filter_by(active=True).order_by(Keyring.priority)
     keyring_files = [ k.keyring_name for k in keyrings ]
+    session.close()
 
     changes = []
     for fn in changes_filenames:
@@ -486,9 +491,7 @@ def process_changes(changes_filenames):
     changes.sort(key=lambda x: x[1])
 
     for directory, c in changes:
-        process_it(directory, c, keyring_files, session)
-
-    session.rollback()
+        process_it(directory, c, keyring_files)
 
 ###############################################################################