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: else:
return False return False
def emit_to_contents(self, message): def emit_to_contents(self, message, exclude=None):
""" """
Emits something to all objects inside an object. Emits something to all objects inside an object.
""" """
contents = self.get_contents() contents = self.get_contents()
if exclude:
contents.remove(exclude)
for obj in contents: for obj in contents:
obj.emit_to(message) 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" retval = "Player Name On For Idle Room Cmds Host\n\r"
for player in session_list: for player in session_list:
if not player.logged_in:
continue
delta_cmd = time.time() - player.cmd_last delta_cmd = time.time() - player.cmd_last
delta_conn = time.time() - player.conn_time delta_conn = time.time() - player.conn_time
plr_pobject = player.get_pobject() plr_pobject = player.get_pobject()
@ -267,7 +269,8 @@ def cmd_uptime(cdat):
session = cdat['session'] session = cdat['session']
server = cdat['server'] server = cdat['server']
start_delta = time.time() - server.start_time 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('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 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 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. Returns the object associated with a session.
""" """
result = Object.objects.get(id=self.uid) result = Object.objects.get(id=self.uid)
#print 'RES', result
return result return result
def game_connect_screen(self, session): def game_connect_screen(self, session):
@ -93,9 +92,11 @@ class PlayerSession(async_chat):
self.name = user.username self.name = user.username
self.logged_in = True self.logged_in = True
self.conn_time = time.time() 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,)) 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} cdat = {"session": self, "uinput":'look', "server": self.server}
cmdhandler.handle(cdat) cmdhandler.handle(cdat)
print "Login: %s" % (self,) print "Login: %s" % (self,)