Made player.idle_time and player.connection_time into properties.

This commit is contained in:
Griatch 2015-09-27 19:58:50 +02:00
parent 3d36cd343a
commit fc4beed9ca

View file

@ -503,6 +503,26 @@ class DefaultPlayer(PlayerDB):
self.at_access(result, accessing_obj, access_type, **kwargs)
return result
@property
def idle_time(self):
"""
Returns the idle time of the least idle session in seconds. If
no sessions are connected it returns nothing.
"""
idle = [session.cmd_last_visible for session in self.sessions]
if idle:
return time.time() - float(max(idle))
@property
def connection_time(self):
"""
Returns the maximum connection time of all connected sessions
in seconds. Returns nothing if there are no sessions.
"""
conn = [session.conn_time for session in self.sessions]
if conn:
return time.time() - float(min(conn))
## player hooks
def basetype_setup(self):
@ -745,23 +765,6 @@ class DefaultPlayer(PlayerDB):
"""
pass
def idle_time(self):
"""
Returns the idle time of the least idle session in seconds. If
no sessions are connected it returns nothing.
"""
idle = [session.cmd_last_visible for session in self.sessions]
if idle:
return time.time() - float(max(idle))
def connection_time(self):
"""
Returns the maximum connection time of all connected sessions
in seconds. Returns nothing if there are no sessions.
"""
conn = [session.conn_time for session in self.sessions]
if conn:
return time.time() - float(min(conn))
class DefaultGuest(DefaultPlayer):
"""