X-Git-Url: https://mudpy.org/gitweb?p=mudpy.git;a=blobdiff_plain;f=mudpy%2Fmisc.py;h=fb651f677d0d642d82373bf1551fb962be23959f;hp=6cb780434799e65267f747a392c3c086f2556f11;hb=6c702cf838cfe7ae7b8f993b172dfdea6bafc802;hpb=9d7268dbda760522aaef21b6f40c9b3358a20ffb diff --git a/mudpy/misc.py b/mudpy/misc.py index 6cb7804..fb651f6 100644 --- a/mudpy/misc.py +++ b/mudpy/misc.py @@ -164,7 +164,7 @@ class Element: else: node = ".".join((self.key, facet)) self.origin.data[node] = value - self.facethash[node] = self.origin.data[node] + self.facethash[facet] = self.origin.data[node] self.origin.modified = True def append(self, facet, value): @@ -299,7 +299,7 @@ class Element: def portals(self): """Map the portal directions for an area to neighbors.""" portals = {} - if re.match("""^area:-?\d+,-?\d+,-?\d+$""", self.key): + if re.match(r"""^area:-?\d+,-?\d+,-?\d+$""", self.key): coordinates = [(int(x)) for x in self.key.split(":")[1].split(",")] offsets = dict( @@ -404,7 +404,7 @@ class Universe: inactive_avatars.append(self.contents[avatar]) except KeyError: pending_loglines.append(( - "Missing avatar \"%s\", possible data corruption" % + 'Missing avatar "%s", possible data corruption' % avatar, 6)) for user in self.userlist: if user.avatar in inactive_avatars: @@ -961,7 +961,7 @@ class User: try: avatars.append(universe.contents[avatar].get("name")) except KeyError: - log("Missing avatar \"%s\", possible data corruption." % + log('Missing avatar "%s", possible data corruption.' % avatar, 6) return avatars @@ -1892,7 +1892,7 @@ def command_reload(actor): log( "User " + actor.owner.account.get("name") + " reloaded the world.", - 8 + 6 ) # set a flag to reload @@ -1977,8 +1977,8 @@ def command_help(actor, parameters): else: output += " $(grn)" output += item + "$(nrm) - " + description + "$(eol)" - output += ("$(eol)Enter \"help COMMAND\" for help on a command " - "named \"COMMAND\".") + output += ('$(eol)Enter "help COMMAND" for help on a command ' + 'named "COMMAND".') # send the accumulated output to the user actor.send(output) @@ -2008,13 +2008,13 @@ def command_say(actor, parameters): # if the message is wrapped in quotes, remove them and leave contents # intact - if parameters.startswith("\"") and parameters.endswith("\""): + if parameters.startswith('"') and parameters.endswith('"'): message = parameters[1:-1] literal = True # otherwise, get rid of stray quote marks on the ends of the message else: - message = parameters.strip("\"'`") + message = parameters.strip('''"'`''') literal = False # the user entered a message @@ -2072,9 +2072,9 @@ def command_say(actor, parameters): # tell the area if message: actor.echo_to_location( - actor.get("name") + " " + action + "s, \"" + message + "\"" + actor.get("name") + " " + action + 's, "' + message + '"' ) - actor.send("You " + action + ", \"" + message + "\"") + actor.send("You " + action + ', "' + message + '"') # there was no message else: @@ -2125,8 +2125,8 @@ def command_show(actor, parameters): if len(arguments) != 2: message = "You must specify one category." elif arguments[1] in universe.categories: - message = ("These are the elements in the \"" + arguments[1] - + "\" category:$(eol)") + message = ('These are the elements in the "' + arguments[1] + + '" category:$(eol)') elements = [ ( universe.categories[arguments[1]][x].key @@ -2136,27 +2136,27 @@ def command_show(actor, parameters): for element in elements: message += "$(eol) $(grn)" + element + "$(nrm)" else: - message = "Category \"" + arguments[1] + "\" does not exist." + message = 'Category "' + arguments[1] + '" does not exist.' elif arguments[0] == "file": if len(arguments) != 2: message = "You must specify one file." elif arguments[1] in universe.files: - message = ("These are the elements in the \"" + arguments[1] - + "\" file:$(eol)") + message = ('These are the elements in the "' + arguments[1] + + '" file:$(eol)') elements = universe.files[arguments[1]].data.keys() elements.sort() for element in elements: message += "$(eol) $(grn)" + element + "$(nrm)" else: - message = "Category \"" + arguments[1] + "\" does not exist." + message = 'Category "' + arguments[1] + '" does not exist.' elif arguments[0] == "element": if len(arguments) != 2: message = "You must specify one element." elif arguments[1].strip(".") in universe.contents: element = universe.contents[arguments[1].strip(".")] - message = ("These are the properties of the \"" + arguments[1] - + "\" element (in \"" + element.origin.filename - + "\"):$(eol)") + message = ('These are the properties of the "' + arguments[1] + + '" element (in "' + element.origin.filename + + '"):$(eol)') facets = element.facets() for facet in sorted(facets): if element.old_style: @@ -2166,7 +2166,7 @@ def command_show(actor, parameters): message += ("$(eol) $(grn)%s: $(red)%s$(nrm)" % (facet, str(facets[facet]))) else: - message = "Element \"" + arguments[1] + "\" does not exist." + message = 'Element "' + arguments[1] + '" does not exist.' elif arguments[0] == "result": if len(arguments) < 2: message = "You need to specify an expression." @@ -2178,21 +2178,21 @@ def command_show(actor, parameters): "$(eol)$(bld)%s$(nrm)" % e) elif arguments[0] == "log": if len(arguments) == 4: - if re.match("^\d+$", arguments[3]) and int(arguments[3]) >= 0: + if re.match(r"^\d+$", arguments[3]) and int(arguments[3]) >= 0: stop = int(arguments[3]) else: stop = -1 else: stop = 0 if len(arguments) >= 3: - if re.match("^\d+$", arguments[2]) and int(arguments[2]) > 0: + if re.match(r"^\d+$", arguments[2]) and int(arguments[2]) > 0: start = int(arguments[2]) else: start = -1 else: start = 10 if len(arguments) >= 2: - if (re.match("^\d+$", arguments[1]) + if (re.match(r"^\d+$", arguments[1]) and 0 <= int(arguments[1]) <= 9): level = int(arguments[1]) else: @@ -2207,7 +2207,7 @@ def command_show(actor, parameters): message = ("When specified, level must be 0-9 (default 1), " "start and stop must be >=1 (default 10 and 1).") else: - message = "I don't know what \"" + parameters + "\" is." + message = '''I don't know what "''' + parameters + '" is.' actor.send(message) @@ -2224,10 +2224,10 @@ def command_create(actor, parameters): if len(arguments) == 2: element, filename = arguments if element in universe.contents: - message = "The \"" + element + "\" element already exists." + message = 'The "' + element + '" element already exists.' else: - message = ("You create \"" + - element + "\" within the universe.") + message = ('You create "' + + element + '" within the universe.') logline = actor.owner.account.get( "name" ) + " created an element: " + element @@ -2235,7 +2235,7 @@ def command_create(actor, parameters): logline += " in file " + filename if filename not in universe.files: message += ( - " Warning: \"" + filename + "\" is not yet " + ' Warning: "' + filename + '" is not yet ' "included in any other file and will not be read " "on startup unless this is remedied.") Element(element, universe, filename, old_style=True) @@ -2252,11 +2252,11 @@ def command_destroy(actor, parameters): message = "You must specify an element to destroy." else: if parameters not in universe.contents: - message = "The \"" + parameters + "\" element does not exist." + message = 'The "' + parameters + '" element does not exist.' else: universe.contents[parameters].destroy() - message = ("You destroy \"" + parameters - + "\" within the universe.") + message = ('You destroy "' + parameters + + '" within the universe.') log( actor.owner.account.get( "name" @@ -2273,22 +2273,28 @@ def command_set(actor, parameters): else: arguments = parameters.split(" ", 2) if len(arguments) == 1: - message = ("What facet of element \"" + arguments[0] - + "\" would you like to set?") + message = ('What facet of element "' + arguments[0] + + '" would you like to set?') elif len(arguments) == 2: - message = ("What value would you like to set for the \"" + - arguments[1] + "\" facet of the \"" + arguments[0] - + "\" element?") + message = ('What value would you like to set for the "' + + arguments[1] + '" facet of the "' + arguments[0] + + '" element?') else: element, facet, value = arguments if element not in universe.contents: - message = "The \"" + element + "\" element does not exist." + message = 'The "' + element + '" element does not exist.' else: - universe.contents[element].set(facet, value) - message = ("You have successfully (re)set the \"" + facet - + "\" facet of element \"" + element - + "\". Try \"show element " + - element + "\" for verification.") + try: + universe.contents[element].set(facet, value) + except ValueError: + message = ('Value "%s" of type "%s" cannot be coerced ' + 'to the correct datatype for facet "%s".' % + (value, type(value), facet)) + else: + message = ('You have successfully (re)set the "' + facet + + '" facet of element "' + element + + '". Try "show element ' + + element + '" for verification.') actor.send(message) @@ -2299,23 +2305,23 @@ def command_delete(actor, parameters): else: arguments = parameters.split(" ") if len(arguments) == 1: - message = ("What facet of element \"" + arguments[0] - + "\" would you like to delete?") + message = ('What facet of element "' + arguments[0] + + '" would you like to delete?') elif len(arguments) != 2: message = "You may only specify an element and a facet." else: element, facet = arguments if element not in universe.contents: - message = "The \"" + element + "\" element does not exist." + message = 'The "' + element + '" element does not exist.' elif facet not in universe.contents[element].facets(): - message = ("The \"" + element + "\" element has no \"" + facet - + "\" facet.") + message = ('The "' + element + '" element has no "' + facet + + '" facet.') else: universe.contents[element].remove_facet(facet) - message = ("You have successfully deleted the \"" + facet - + "\" facet of element \"" + element - + "\". Try \"show element " + - element + "\" for verification.") + message = ('You have successfully deleted the "' + facet + + '" facet of element "' + element + + '". Try "show element ' + + element + '" for verification.') actor.send(message) @@ -2324,7 +2330,7 @@ def command_error(actor, input_data): # 90% of the time use a generic error if random.randrange(10): - message = "I'm not sure what \"" + input_data + "\" means..." + message = '''I'm not sure what "''' + input_data + '''" means...''' # 10% of the time use the classic diku error else: