[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[dak/master] dak/process_commands.py: remove all processed files to done



We want all files that were processed to be moved to done. It would be
confusing to have files in reject when we did evaluate some of the
commands from there and only encountered an error later.

Files that do not pass the GPG check are still moved to the reject
directory.
---
 dak/process_commands.py |   22 ++++++++++++++++------
 1 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/dak/process_commands.py b/dak/process_commands.py
index a4ae1f5..d3c794c 100644
--- a/dak/process_commands.py
+++ b/dak/process_commands.py
@@ -20,11 +20,13 @@ import apt_pkg
 import datetime
 import os
 import sys
+import time
 
 from daklib.config import Config
 from daklib.command import CommandError, CommandFile
 from daklib.daklog import Logger
 from daklib.fstransactions import FilesystemTransaction
+from daklib.gpg import GpgException
 from daklib.utils import find_next_free
 
 def usage():
@@ -64,13 +66,21 @@ def main(argv=None):
             log.log(['unexpected filename', basename])
             continue
 
-        command = CommandFile(fn, log)
-        if command.evaluate():
-            log.log(['moving to done', basename])
-            dst = find_next_free(os.path.join(donedir, basename))
-        else:
-            log.log(['moving to reject', basename])
+        try:
+            command = CommandFile(fn, log)
+            command.evaluate()
+        except:
+            created = os.stat(fn).st_mtime
+            now = time.time()
+            too_new = (now - created < int(cnf.get('Dinstall::SkipTime', '60')))
+            if too_new:
+                log.log(['skipped (too new)'])
+                continue
+            log.log(['reject', basename])
             dst = find_next_free(os.path.join(rejectdir, basename))
+        else:
+            log.log(['done', basename])
+            dst = find_next_free(os.path.join(donedir, basename))
 
         with FilesystemTransaction() as fs:
             fs.move(fn, dst, mode=0o644)
-- 
1.7.2.5



Reply to: