Reorder loglines fields
authorJeremy Stanley <fungi@yuggoth.org>
Fri, 9 Oct 2020 16:35:46 +0000 (16:35 +0000)
committerJeremy Stanley <fungi@yuggoth.org>
Fri, 9 Oct 2020 16:35:46 +0000 (16:35 +0000)
Switch the Universe.loglines attribute's structure to place the log
message first and the log level value second, so that it's
consistent with the order in which those parameters are supplied by
the misc.log() function. While we're adjusting this in the
misc.get_loglines() function, switch the output construction from
concatenation to format strings for improved manageability.

mudpy/misc.py

index c0f73a1..81b43ef 100644 (file)
@@ -1085,14 +1085,14 @@ def log(message, level=0):
     for line in lines:
         while 0 < len(universe.loglines) >= max_log_lines:
             del universe.loglines[0]
-        universe.loglines.append((level, timestamp + " " + line))
+        universe.loglines.append((timestamp + " " + line, level))
 
 
 def get_loglines(level, start, stop):
     """Return a specific range of loglines filtered by level."""
 
     # filter the log lines
-    loglines = [x for x in universe.loglines if x[0] >= level]
+    loglines = [x for x in universe.loglines if x[1] >= level]
 
     # we need these in several places
     total_count = str(len(universe.loglines))
@@ -1114,11 +1114,10 @@ def get_loglines(level, start, stop):
             stop = 1
 
         # some preamble
-        message = "There are " + str(total_count)
-        message += " log lines in memory and " + str(filtered_count)
-        message += " at or above level " + str(level) + "."
-        message += " The matching lines from " + str(stop) + " to "
-        message += str(start) + " are:$(eol)$(eol)"
+        message = (
+            "There are %s log lines in memory and %s at or above level %s. "
+            "The matching lines from %s to %s are:$(eol)$(eol)" %
+            (total_count, filtered_count, level, stop, start))
 
         # add the text from the selected lines
         if stop > 1:
@@ -1126,14 +1125,13 @@ def get_loglines(level, start, stop):
         else:
             range_lines = loglines[-start:]
         for line in range_lines:
-            message += "   (" + str(line[0]) + ") " + line[1].replace(
-                "$(", "$_("
-            ) + "$(eol)"
+            message += "   (%s) %s$(eol)" % (
+                line[1], line[0].replace("$(", "$_("))
 
     # there were no lines
     else:
-        message = "None of the " + str(total_count)
-        message += " lines in memory matches your request."
+        message = "None of the %s lines in memory matches your request." % (
+            total_count)
 
     # pass it back
     return message