Added hooks at_pre_cmd() and at_post_cmd() for easy implementation of stuff like prompts.

Added obj.exit property to objects for easily finding all exits from a room.
This commit is contained in:
Griatch 2011-02-14 17:18:31 +00:00
parent ecbd36c5a8
commit 923b9ac2ec
5 changed files with 62 additions and 3 deletions

View file

@ -385,9 +385,15 @@ def cmdhandler(caller, raw_string, unloggedin=False, testing=False):
# only return the command instance
return cmd
# pre-command hook
cmd.at_pre_cmd()
# Parse and execute
cmd.parse()
cmd.func()
# post-command hook
cmd.at_post_cmd()
# Done!
except ExecSystemCommand, exc:

View file

@ -126,6 +126,19 @@ class Command(object):
# Common Command hooks
def at_pre_cmd(self):
"""
This hook is called before self.parse() on all commands
"""
pass
def at_post_cmd(self):
"""
This hook is called after the command has finished executing
(after self.func()).
"""
pass
def parse(self):
"""
Once the cmdhandler has identified this as the command we

View file

@ -25,6 +25,19 @@ class MuxCommand(Command):
are satisfied using the default check in Command.
"""
return super(MuxCommand, self).has_perm(srcobj)
def at_pre_cmd(self):
"""
This hook is called before self.parse() on all commands
"""
pass
def at_post_cmd(self):
"""
This hook is called after the command has finished executing
(after self.func()).
"""
pass
def parse(self):
"""