From 1a321872691a7d8bbac0a8048d361134f5136f88 Mon Sep 17 00:00:00 2001 From: Jeremy Stanley Date: Fri, 9 Oct 2020 16:35:46 +0000 Subject: [PATCH] Reorder loglines fields 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 | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/mudpy/misc.py b/mudpy/misc.py index c0f73a1..81b43ef 100644 --- a/mudpy/misc.py +++ b/mudpy/misc.py @@ -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 -- 2.11.0