Fixed a bug in the lockhandler error handling. Resolves #564.

This commit is contained in:
Griatch 2014-09-19 21:15:50 +02:00
parent b5507b0fcb
commit 1b44d9b2ed
4 changed files with 11 additions and 10 deletions

View file

@ -88,7 +88,7 @@ class CmdUsernameSelect(Command):
else: else:
# store the player so next step can find it # store the player so next step can find it
self.menutree.player = player self.menutree.player = player
self.caller.msg("", echo=False) self.caller.msg(echo=False)
self.menutree.goto("node1b") self.menutree.goto("node1b")
@ -104,7 +104,7 @@ class CmdPasswordSelectBack(Command):
def func(self): def func(self):
"Execute the command" "Execute the command"
self.menutree.goto("node1a") self.menutree.goto("node1a")
self.caller.msg("", echo=True) self.caller.msg(echo=True)
class CmdPasswordSelect(Command): class CmdPasswordSelect(Command):
@ -116,7 +116,7 @@ class CmdPasswordSelect(Command):
def func(self): def func(self):
"Execute the command" "Execute the command"
self.caller.msg("", echo=True) self.caller.msg(echo=True)
if not hasattr(self.menutree, "player"): if not hasattr(self.menutree, "player"):
self.caller.msg("{rSomething went wrong! The player was not remembered from last step!{n") self.caller.msg("{rSomething went wrong! The player was not remembered from last step!{n")
self.menutree.goto("node1a") self.menutree.goto("node1a")
@ -181,7 +181,7 @@ its and @/./+/-/_ only.{n") # this echoes the restrictions made by django's auth
return return
# store the name for the next step # store the name for the next step
self.menutree.playername = playername self.menutree.playername = playername
self.caller.msg("", echo=False) self.caller.msg(echo=False)
self.menutree.goto("node2b") self.menutree.goto("node2b")
@ -194,7 +194,7 @@ class CmdPasswordCreateBack(Command):
def func(self): def func(self):
"Execute the command" "Execute the command"
self.caller.msg("", echo=True) self.caller.msg(echo=True)
self.menutree.goto("node2a") self.menutree.goto("node2a")
@ -206,7 +206,7 @@ class CmdPasswordCreate(Command):
def func(self): def func(self):
"Execute the command" "Execute the command"
password = self.args password = self.args
self.caller.msg("", echo=False) self.caller.msg(echo=False)
if not hasattr(self.menutree, 'playername'): if not hasattr(self.menutree, 'playername'):
self.caller.msg("{rSomething went wrong! Playername not remembered from previous step!{n") self.caller.msg("{rSomething went wrong! Playername not remembered from previous step!{n")
self.menutree.goto("node2a") self.menutree.goto("node2a")

View file

@ -1563,6 +1563,7 @@ class CmdLock(ObjManipCommand):
if not obj.access(caller, 'control'): if not obj.access(caller, 'control'):
caller.msg("You are not allowed to do that.") caller.msg("You are not allowed to do that.")
return return
ok = False
try: try:
ok = obj.locks.add(lockdef) ok = obj.locks.add(lockdef)
except LockException, e: except LockException, e:

View file

@ -216,7 +216,7 @@ class LockHandler(object):
funcname, rest = (part.strip().strip(')') for part in funcstring.split('(', 1)) funcname, rest = (part.strip().strip(')') for part in funcstring.split('(', 1))
func = _LOCKFUNCS.get(funcname, None) func = _LOCKFUNCS.get(funcname, None)
if not callable(func): if not callable(func):
elist.append(_("Lock: function '%s' is not available.") % funcstring) elist.append(_("Lock: lock-function '%s' is not available.") % funcstring)
continue continue
args = list(arg.strip() for arg in rest.split(',') if arg and not '=' in arg) args = list(arg.strip() for arg in rest.split(',') if arg and not '=' in arg)
kwargs = dict([arg.split('=', 1) for arg in rest.split(',') if arg and '=' in arg]) kwargs = dict([arg.split('=', 1) for arg in rest.split(',') if arg and '=' in arg])

View file

@ -99,7 +99,6 @@ class TelnetProtocol(Telnet, StatefulTelnetProtocol, Session):
self.mccp.no_mccp(option) self.mccp.no_mccp(option)
return True return True
else: else:
return super(TelnetProtocol, self).disableLocal(option) return super(TelnetProtocol, self).disableLocal(option)
def connectionLost(self, reason): def connectionLost(self, reason):
@ -235,6 +234,7 @@ class TelnetProtocol(Telnet, StatefulTelnetProtocol, Session):
nomarkup = kwargs.get("nomarkup", not (xterm256 or useansi)) nomarkup = kwargs.get("nomarkup", not (xterm256 or useansi))
prompt = kwargs.get("prompt") prompt = kwargs.get("prompt")
echo = kwargs.get("echo", None) echo = kwargs.get("echo", None)
#print "telnet kwargs=%s, message=%s" % (kwargs, text) #print "telnet kwargs=%s, message=%s" % (kwargs, text)
#print "xterm256=%s, useansi=%s, raw=%s, nomarkup=%s, init_done=%s" % (xterm256, useansi, raw, nomarkup, ttype.get("init_done")) #print "xterm256=%s, useansi=%s, raw=%s, nomarkup=%s, init_done=%s" % (xterm256, useansi, raw, nomarkup, ttype.get("init_done"))
if raw: if raw: