]> git.decadent.org.uk Git - dak.git/blobdiff - dak/process_upload.py
Holding isn't a queue either, it's a tmpdir
[dak.git] / dak / process_upload.py
index 13474071c34600cb82d3eae1d7a1e37df857ef21..bf74baa65be064e356abaa8459b39a6688c85ad9 100755 (executable)
@@ -207,6 +207,8 @@ def byebye():
 
 
 def action(u, session):
+    global Logger
+
     cnf = Config()
     holding = Holding()
 
@@ -293,7 +295,7 @@ def action(u, session):
         u.do_reject(0, pi)
     elif answer == 'A':
         if not chg:
-            chg = u.pkg.add_known_changes(holding.holding_dir, session=session)
+            chg = u.pkg.add_known_changes(holding.holding_dir, session=session, logger=Logger)
         session.commit()
         u.accept(summary, short_summary, session)
         u.check_override()
@@ -302,13 +304,13 @@ def action(u, session):
         u.remove()
     elif answer == 'P':
         if not chg:
-            chg = u.pkg.add_known_changes(holding.holding_dir, session=session)
+            chg = u.pkg.add_known_changes(holding.holding_dir, session=session, logger=Logger)
         package_to_queue(u, summary, short_summary, policyqueue, chg, session)
         session.commit()
         u.remove()
     elif answer == queuekey:
         if not chg:
-            chg = u.pkg.add_known_changes(holding.holding_dir, session=session)
+            chg = u.pkg.add_known_changes(holding.holding_dir, session=session, logger=Logger)
         QueueInfo[qu]["process"](u, summary, short_summary, chg, session)
         session.commit()
         u.remove()
@@ -362,7 +364,7 @@ def process_it(changes_file, session):
         # If this is the Real Thing(tm), copy things into a private
         # holding directory first to avoid replacable file races.
         if not Options["No-Action"]:
-            os.chdir(cnf["Dir::Queue::Holding"])
+            holding.chdir_to_holding()
 
             # Absolutize the filename to avoid the requirement of being in the
             # same directory as the .changes file.
@@ -422,7 +424,6 @@ def main():
 
     cnf = Config()
     summarystats = SummaryStats()
-    log_urgency = False
 
     DBConn()
 
@@ -454,7 +455,7 @@ def main():
 
     # Obtain lock if not in no-action mode and initialize the log
     if not Options["No-Action"]:
-        lock_fd = os.open(cnf["Dinstall::LockFile"], os.O_RDWR | os.O_CREAT)
+        lock_fd = os.open(os.path.join(cnf["Dir::Lock"], 'dinstall.lock'), os.O_RDWR | os.O_CREAT)
         try:
             fcntl.lockf(lock_fd, fcntl.LOCK_EX | fcntl.LOCK_NB)
         except IOError, e:
@@ -462,12 +463,12 @@ def main():
                 utils.fubar("Couldn't obtain lock; assuming another 'dak process-upload' is already running.")
             else:
                 raise
-        if cnf.get("Dir::UrgencyLog"):
-            # Initialise UrgencyLog()
-            log_urgency = True
-            UrgencyLog()
 
-    Logger = daklog.Logger(cnf, "process-upload", Options["No-Action"])
+        # Initialise UrgencyLog() - it will deal with the case where we don't
+        # want to log urgencies
+        urgencylog = UrgencyLog()
+
+    Logger = daklog.Logger("process-upload", Options["No-Action"])
 
     # If we have a directory flag, use it to find our files
     if cnf["Dinstall::Options::Directory"] != "":
@@ -501,11 +502,17 @@ def main():
                                                 utils.size_type(int(summarystats.accept_bytes)))
         Logger.log(["total", summarystats.accept_count, summarystats.accept_bytes])
 
+    if summarystats.reject_count:
+        sets = "set"
+        if summarystats.reject_count > 1:
+            sets = "sets"
+        print "Rejected %d package %s." % (summarystats.reject_count, sets)
+        Logger.log(["rejected", summarystats.reject_count])
+
     byebye()
 
     if not Options["No-Action"]:
-        if log_urgency:
-            UrgencyLog().close()
+        urgencylog.close()
 
     Logger.close()