Fixing a minor crash bug with WHO and unauthenticated users.
This commit is contained in:
parent
d3634f3236
commit
5c029b8daa
3 changed files with 12 additions and 4 deletions
|
|
@ -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)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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])
|
||||||
|
|
|
||||||
|
|
@ -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,)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue