From 3d36cd343ada3c3056eccc8d99f509e03e73fcc8 Mon Sep 17 00:00:00 2001 From: Andrew Ryan Bastien Date: Sun, 27 Sep 2015 13:34:08 -0400 Subject: [PATCH] - Adding support for connection_time and idle_time methods to DefaultPlayer. --- evennia/players/players.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/evennia/players/players.py b/evennia/players/players.py index 78410d80e4..baca93560d 100644 --- a/evennia/players/players.py +++ b/evennia/players/players.py @@ -11,6 +11,7 @@ instead for most things). """ +import time from django.conf import settings from django.utils import timezone from evennia.typeclasses.models import TypeclassBase @@ -744,6 +745,23 @@ 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): """