From faf8c4653aa2b1e184545aef15b5ba192dd78d03 Mon Sep 17 00:00:00 2001 From: Jeremy Stanley Date: Wed, 27 Sep 2017 16:48:47 +0000 Subject: [PATCH] Display flags in show files output When the "show files" command is issued, any optional file flags such as "private" are displayed after the filename. Also add a selftest to exercise this command. --- mudpy/misc.py | 10 ++++++---- mudpy/tests/selftest.py | 8 ++++++++ 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/mudpy/misc.py b/mudpy/misc.py index d43a7e2..32c0d68 100644 --- a/mudpy/misc.py +++ b/mudpy/misc.py @@ -2133,15 +2133,17 @@ def command_show(actor, parameters): message += "$(eol) $(grn)" + category + "$(nrm)" elif arguments[0] == "files": message = "These are the current files containing the universe:$(eol)" - filenames = list(universe.files.keys()) - filenames.sort() + filenames = sorted(universe.files) for filename in filenames: if universe.files[filename].is_writeable(): status = "rw" else: status = "ro" - message += ("$(eol) $(red)(" + status + ") $(grn)" + filename - + "$(nrm)") + message += ("$(eol) $(red)(%s) $(grn)%s$(nrm)" % + (status, filename)) + if universe.files[filename].flags: + message += (" $(yel)[%s]$(nrm)" % + ",".join(universe.files[filename].flags)) elif arguments[0] == "category": if len(arguments) != 2: message = "You must specify one category." diff --git a/mudpy/tests/selftest.py b/mudpy/tests/selftest.py index 5da058c..261fa06 100644 --- a/mudpy/tests/selftest.py +++ b/mudpy/tests/selftest.py @@ -170,6 +170,13 @@ test_set_refused = ( (2, r'The "mudpy\.limit" element is kept in read-only file', ""), ) +test_show_files = ( + (2, "> ", "show files"), + (2, r'These are the current files containing the universe:.*' + r' \x1b\[31m\(rw\) \x1b\[32m/.*/account.yaml\x1b\[0m' + r' \x1b\[33m\[private\]\x1b\[0m.*> ', ""), +) + test_show_element = ( (2, "> ", "show element mudpy.limit"), (2, r'These are the properties of the "mudpy\.limit" element.*' @@ -220,6 +227,7 @@ dialogue = ( (test_reload, "reload"), (test_set_facet, "set facet"), (test_set_refused, "refuse altering read-only element"), + (test_show_files, "show a list of loaded files"), (test_show_element, "show element"), (test_show_log, "show log"), (test_custom_loglevel, "custom loglevel"), -- 2.11.0