changeset 727:508636ffbf11

Added a constant so we don't have any more confusion about what files are used for levels - see #517
author dfraser
date Wed, 06 Jan 2010 13:00:09 +0000
parents ec76fabc2617
children 1701dda85af3
files bitten/model.py bitten/tests/model.py bitten/upgrades.py
diffstat 3 files changed, 7 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/bitten/model.py
+++ b/bitten/model.py
@@ -703,6 +703,7 @@
     WARNING = 'W'
     ERROR = 'E'
     UNKNOWN = ''
+    LEVELS_SUFFIX = '.levels'
 
     def __init__(self, env, build=None, step=None, generator=None,
                  orderno=None, filename=None):
@@ -751,7 +752,7 @@
                     os.remove(log_file)
                 except Exception, e:
                     self.env.log.warning("Error removing log file %s: %s" % (log_file, e))
-            level_file = log_file + '.levels'
+            level_file = log_file + self.LEVELS_SUFFIX
             if os.path.exists(level_file):
                 try:
                     self.env.log.debug("Deleting level file: %s" % level_file)
@@ -786,7 +787,7 @@
         cursor.execute("UPDATE bitten_log SET filename=%s WHERE id=%s", (log_file, id))
         if self.messages:
             log_file_name = self.get_log_file(log_file)
-            level_file_name = log_file_name + ".levels"
+            level_file_name = log_file_name + self.LEVELS_SUFFIX
             codecs.open(log_file_name, "wb", "UTF-8").writelines([to_unicode(msg[1]+"\n") for msg in self.messages])
             codecs.open(level_file_name, "wb", "UTF-8").writelines([to_unicode(msg[0]+"\n") for msg in self.messages])
 
@@ -813,7 +814,7 @@
                 log_lines = codecs.open(log_filename, "rb", "UTF-8").readlines()
             else:
                 log_lines = []
-            level_filename = log.get_log_file(log.filename + ".levels")
+            level_filename = log.get_log_file(log.filename + cls.LEVELS_SUFFIX)
             if os.path.exists(level_filename):
                 log_levels = dict(enumerate(codecs.open(level_filename, "rb", "UTF-8").readlines()))
             else:
--- a/bitten/tests/model.py
+++ b/bitten/tests/model.py
@@ -509,7 +509,7 @@
         build_log = BuildLog.fetch(self.env, id=build_log.id)
         self.assertEquals(build_log.filename, "%s.log" % build_log.id)
         log_file = build_log.get_log_file(build_log.filename)
-        levels_file = log_file+'.levels'
+        levels_file = log_file + BuildLog.LEVELS_SUFFIX
         self.failUnless(os.path.exists(log_file), 'log_file does not exist')
         self.failUnless(os.path.exists(levels_file),
                                                 'levels_file does not exist')
--- a/bitten/upgrades.py
+++ b/bitten/upgrades.py
@@ -384,7 +384,8 @@
         message_cursor.execute("SELECT message, level FROM bitten_log_message WHERE log=%s ORDER BY line", (log_id,))
         full_filename = os.path.join(logs_dir, filename)
         message_file = codecs.open(full_filename, "wb", "UTF-8")
-        level_file = codecs.open(full_filename+".level", "wb", "UTF-8")
+        # Note: the original version of this code erroneously wrote to filename + ".level" instead of ".levels", producing unused level files
+        level_file = codecs.open(full_filename + BuildLog.LEVELS_SUFFIX, "wb", "UTF-8")
         for message, level in message_cursor.fetchall() or []:
             message_file.write(to_unicode(message) + "\n")
             level_file.write(to_unicode(level) + "\n")
Copyright (C) 2012-2017 Edgewall Software