Fixing a minor crash bug with WHO and unauthenticated users.

This commit is contained in:
Greg Taylor 2006-12-26 04:55:53 +00:00
parent d3634f3236
commit 5c029b8daa
3 changed files with 12 additions and 4 deletions

View file

@ -78,11 +78,15 @@ class Object(models.Model):
else:
return False
def emit_to_contents(self, message):
def emit_to_contents(self, message, exclude=None):
"""
Emits something to all objects inside an object.
"""
contents = self.get_contents()
if exclude:
contents.remove(exclude)
for obj in contents:
obj.emit_to(message)

View file

@ -176,6 +176,8 @@ def cmd_who(cdat):
retval = "Player Name On For Idle Room Cmds Host\n\r"
for player in session_list:
if not player.logged_in:
continue
delta_cmd = time.time() - player.cmd_last
delta_conn = time.time() - player.conn_time
plr_pobject = player.get_pobject()
@ -267,7 +269,8 @@ def cmd_uptime(cdat):
session = cdat['session']
server = cdat['server']
start_delta = time.time() - server.start_time
loadavg = os.getloadavg()
session.msg('Current server time : %s' % (time.strftime('%a %b %d %H:%M %Y (%Z)', time.localtime(),)))
session.msg('Server start time : %s' % (time.strftime('%a %b %d %H:%M %Y', time.localtime(server.start_time),)))
session.msg('Server uptime : %s' % functions_general.time_format(start_delta, style=2))
session.msg('Server load (1 min) : %s' % os.getloadavg())
session.msg('Server load (1 min) : %.2f' % loadavg[0])

View file

@ -69,7 +69,6 @@ class PlayerSession(async_chat):
Returns the object associated with a session.
"""
result = Object.objects.get(id=self.uid)
#print 'RES', result
return result
def game_connect_screen(self, session):
@ -93,9 +92,11 @@ class PlayerSession(async_chat):
self.name = user.username
self.logged_in = True
self.conn_time = time.time()
self.get_pobject().set_flag("CONNECTED", True)
pobject = self.get_pobject()
pobject.set_flag("CONNECTED", True)
self.msg("You are now logged in as %s." % (self.name,))
pobject.get_location().emit_to_contents("%s has connected." % (pobject.get_name(),), exclude=pobject)
cdat = {"session": self, "uinput":'look', "server": self.server}
cmdhandler.handle(cdat)
print "Login: %s" % (self,)