From: Jeremy Stanley Date: Tue, 25 Sep 2012 16:32:32 +0000 (+0000) Subject: Work around lack of dict_keys index in catch-all X-Git-Tag: 0.0.1~274 X-Git-Url: https://mudpy.org/gitweb?p=mudpy.git;a=commitdiff_plain;h=4eb4a44bb63c666d6b4cbb6816d3082449dcdccb Work around lack of dict_keys index in catch-all * lib/mudpy/misc.py: In Python 3000, dict.keys() returns a dict_keys type which is not indexed, so work around it by converting to a list anywhere we attempt to sort keys or access a key by ordered index. --- diff --git a/lib/mudpy/misc.py b/lib/mudpy/misc.py index 1bef3f3..1ae039c 100644 --- a/lib/mudpy/misc.py +++ b/lib/mudpy/misc.py @@ -350,7 +350,7 @@ class Element: description = element.get("description") if description: message += description + "$(eol)" - portal_list = element.portals().keys() + portal_list = list(element.portals().keys()) if portal_list: portal_list.sort() message += "$(cyn)[ Exits: " + ", ".join( @@ -1652,7 +1652,7 @@ def get_menu_choices(user): def get_formatted_menu_choices(state, choices): """Returns a formatted string of menu choices.""" choice_output = "" - choice_keys = choices.keys() + choice_keys = list(choices.keys()) choice_keys.sort() for choice in choice_keys: choice_output += " [$(red)" + choice + "$(nrm)] " + choices[ @@ -2050,7 +2050,7 @@ def command_help(actor, parameters): # give a sorted list of commands with descriptions if provided output = "These are the commands available to you:$(eol)$(eol)" - sorted_commands = universe.categories["command"].keys() + sorted_commands = list(universe.categories["command"].keys()) sorted_commands.sort() for item in sorted_commands: command = universe.categories["command"][item] @@ -2190,13 +2190,13 @@ def command_show(actor, parameters): ) + " increments elapsed since the world was created." elif arguments[0] == "categories": message = "These are the element categories:$(eol)" - categories = universe.categories.keys() + categories = list(universe.categories.keys()) categories.sort() for category in categories: message += "$(eol) $(grn)" + category + "$(nrm)" elif arguments[0] == "files": message = "These are the current files containing the universe:$(eol)" - filenames = universe.files.keys() + filenames = list(universe.files.keys()) filenames.sort() for filename in filenames: if universe.files[filename].is_writeable():