提交 73cf2cb7 编写于 作者: M Mark Hymers

Centralise UrgencyLog handling

Signed-off-by: NMark Hymers <mhy@debian.org>
上级 70f6c4de
......@@ -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()
......
......@@ -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()
......
......@@ -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()
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册