]> git.decadent.org.uk Git - dak.git/commitdiff
Centralise UrgencyLog handling
authorMark Hymers <mhy@debian.org>
Wed, 27 Jul 2011 08:22:20 +0000 (09:22 +0100)
committerMark Hymers <mhy@debian.org>
Wed, 27 Jul 2011 08:22:20 +0000 (09:22 +0100)
Signed-off-by: Mark Hymers <mhy@debian.org>
dak/process_upload.py
daklib/queue.py
daklib/urgencylog.py

index f74993ce3e7e1dbc185509d320ef3bcc5adecfb9..4e734da46d58cfd7756c22d11f4418a9e808a437 100755 (executable)
@@ -424,7 +424,6 @@ def main():
 
     cnf = Config()
     summarystats = SummaryStats()
-    log_urgency = False
 
     DBConn()
 
@@ -464,10 +463,10 @@ 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()
+
+        # 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"])
 
@@ -513,8 +512,7 @@ def main():
     byebye()
 
     if not Options["No-Action"]:
-        if log_urgency:
-            UrgencyLog().close()
+        urgencylog.close()
 
     Logger.close()
 
index 5055ea57f266c494cdcb29b1bf15370843f4e292..63375f2d413a766baac4f1b54435b4a013f67710 100755 (executable)
@@ -2181,7 +2181,7 @@ distribution."""
         utils.move(self.pkg.changes_file,
                    os.path.join(donedir, os.path.basename(self.pkg.changes_file)))
 
-        if self.pkg.changes["architecture"].has_key("source") and cnf.get("Dir::UrgencyLog"):
+        if self.pkg.changes["architecture"].has_key("source"):
             UrgencyLog().log(self.pkg.dsc["source"], self.pkg.dsc["version"], self.pkg.changes["urgency"])
 
         self.update_subst()
index 7d679058ee4bc6799d372086dfad0c43904ff714..a47974dd11f006ad7bd9e4f3b226301826ce46dd 100644 (file)
@@ -47,26 +47,43 @@ class UrgencyLog(object):
 
             self.timestamp = time.strftime("%Y%m%d%H%M%S")
 
-            # Create the log directory if it doesn't exist
-            self.log_dir = Config()["Dir::UrgencyLog"]
+            cnf = Config()
+            if cnf.has_key("Dir::UrgencyLog"):
+                # Create the log directory if it doesn't exist
+                self.log_dir = cnf["Dir::UrgencyLog"]
 
-            if not os.path.exists(self.log_dir) or not os.access(self.log_dir, os.W_OK):
-                warn("UrgencyLog directory %s does not exist or is not writeable, using /srv/ftp.debian.org/tmp/ instead" % (self.log_dir))
-                self.log_dir = '/srv/ftp.debian.org/tmp/'
+                if not os.path.exists(self.log_dir) or not os.access(self.log_dir, os.W_OK):
+                    warn("UrgencyLog directory %s does not exist or is not writeable, using /srv/ftp.debian.org/tmp/ instead" % (self.log_dir))
+                    self.log_dir = '/srv/ftp.debian.org/tmp/'
+
+                # Open the logfile
+                self.log_filename = "%s/.install-urgencies-%s.new" % (self.log_dir, self.timestamp)
+                self.log_file = open_file(self.log_filename, 'w')
+
+            else:
+                self.log_dir = None
+                self.log_filename = None
+                self.log_file = None
 
-            # Open the logfile
-            self.log_filename = "%s/.install-urgencies-%s.new" % (self.log_dir, self.timestamp)
-            self.log_file = open_file(self.log_filename, 'w')
             self.writes = 0
 
     def log(self, source, version, urgency):
         "Log an event"
+
+        # Don't try and log if Dir::UrgencyLog is not configured
+        if self.log_file is None:
+            return
+
         self.log_file.write(" ".join([source, version, urgency])+'\n')
         self.log_file.flush()
         self.writes += 1
 
     def close(self):
         "Close a Logger object"
+        # Don't try and log if Dir::UrgencyLog is not configured
+        if self.log_file is None:
+            return
+
         self.log_file.flush()
         self.log_file.close()