More bugfixes.

This commit is contained in:
Griatch 2013-02-03 21:38:37 +01:00
parent b82a75d816
commit ab5b9116df
2 changed files with 10 additions and 7 deletions

View file

@ -465,6 +465,7 @@ class PlayerDB(TypedObject):
if not sessid:
return
char = _GA(self, "get_character")(sessid=sessid, return_dbobj=True)
print "disonnect session:", char
if char:
# call hook before disconnecting
_GA(char.typeclass, "at_disconnect")()
@ -511,7 +512,9 @@ class PlayerDB(TypedObject):
return char and (char == character.dbobj and (return_dbobj and char or char.typeclass)) or None
return char and (return_dbobj and char or char.typeclass) or None
elif character:
print character, character.dbobj, _GA(self,"db_objs").all()
char = _GA(self, "db_objs").filter(id=_GA(character.dbobj, "id"))
print "character:", character, char
return char and (return_dbobj and char[0] or char[0].typeclass) or None
else:
# no sessid given - return all available characters
@ -552,11 +555,11 @@ class PlayerDB(TypedObject):
if not character:
return
char = _GA(self, "get_character")(character=character, return_dbobj=True)
print "disconnect_char:", char
if char:
_GA(self, "disconnect_session_from_character")(char.sessid)
print _GA(self, "disconnect_session_from_character")(char.sessid)
_GA(self, "db_objs").remove(char)
del char.player
del char.sessid
self.save()
# clear cache
cache = get_prop_cache(self, "_characters") or {}