From f2e5e70d9b4f6e4981778686f8c2f618479b16c1 Mon Sep 17 00:00:00 2001 From: BlauFeuer Date: Thu, 15 Feb 2018 17:25:01 -0500 Subject: [PATCH] Add loc switch to CmdFind and docstring --- evennia/commands/default/building.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/evennia/commands/default/building.py b/evennia/commands/default/building.py index de263fa4f..ee0062e96 100644 --- a/evennia/commands/default/building.py +++ b/evennia/commands/default/building.py @@ -2238,12 +2238,14 @@ class CmdFind(COMMAND_DEFAULT_CLASS): Usage: @find[/switches] [= dbrefmin[-dbrefmax]] + @locate - this is a shorthand for using the /loc switch. Switches: room - only look for rooms (location=None) exit - only look for exits (destination!=None) char - only look for characters (BASE_CHARACTER_TYPECLASS) exact- only exact matches are returned. + loc - display object location if exists and match has one result Searches the database for an object of a particular name or exact #dbref. Use *accountname to search for an account. The switches allows for @@ -2266,6 +2268,9 @@ class CmdFind(COMMAND_DEFAULT_CLASS): caller.msg("Usage: @find [= low [-high]]") return + if "locate" in self.cmdstring: # Use option /loc as a default for @locate command alias + switches.append('loc') + searchstring = self.lhs low, high = 1, ObjectDB.objects.all().order_by("-id")[0].id if self.rhs: @@ -2315,8 +2320,8 @@ class CmdFind(COMMAND_DEFAULT_CLASS): else: result = result[0] string += "\n|g %s - %s|n" % (result.get_display_name(caller), result.path) - if "locate" in self.cmdstring and not is_account and result.location: - string += " Location: {}".format(result.location.get_display_name(caller)) + if "loc" in self.switches and not is_account and result.location: + string += " (|wlocation|n: |g{}|n)".format(result.location.get_display_name(caller)) else: # Not an account/dbref search but a wider search; build a queryset. # Searchs for key and aliases @@ -2352,8 +2357,8 @@ class CmdFind(COMMAND_DEFAULT_CLASS): else: string = "|wOne Match|n(#%i-#%i%s):" % (low, high, restrictions) string += "\n |g%s - %s|n" % (results[0].get_display_name(caller), results[0].path) - if "locate" in self.cmdstring and nresults == 1 and results[0].location: - string += " Location: {}".format(results[0].location.get_display_name(caller)) + if "loc" in self.switches and nresults == 1 and results[0].location: + string += " (|wlocation|n: |g{}|n)".format(results[0].location.get_display_name(caller)) else: string = "|wMatch|n(#%i-#%i%s):" % (low, high, restrictions) string += "\n |RNo matches found for '%s'|n" % searchstring