summaryrefslogtreecommitdiff
path: root/src/user.py
diff options
context:
space:
mode:
authorlouiz@4325f9fc-e183-4c21-96ce-0ab188b42d13 <louiz@4325f9fc-e183-4c21-96ce-0ab188b42d13>2010-05-11 16:45:14 +0000
committerlouiz@4325f9fc-e183-4c21-96ce-0ab188b42d13 <louiz@4325f9fc-e183-4c21-96ce-0ab188b42d13>2010-05-11 16:45:14 +0000
commitd80a16ac9cc73ce95b62a21892e2055a548e0e44 (patch)
tree9d224b186430d3e3ad933a9f55329335bfa62166 /src/user.py
parenta14611dbde118b1ffa6f66eb7237ddc0c3c61508 (diff)
downloadpoezio-d80a16ac9cc73ce95b62a21892e2055a548e0e44.tar.gz
poezio-d80a16ac9cc73ce95b62a21892e2055a548e0e44.tar.bz2
poezio-d80a16ac9cc73ce95b62a21892e2055a548e0e44.tar.xz
poezio-d80a16ac9cc73ce95b62a21892e2055a548e0e44.zip
Display the status change and/or disconnect for recent-speakers only. fixed #1288
Diffstat (limited to 'src/user.py')
-rw-r--r--src/user.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/user.py b/src/user.py
index 0dee9e42..6f0f3328 100644
--- a/src/user.py
+++ b/src/user.py
@@ -19,12 +19,14 @@
from random import randrange
from config import config
+from datetime import timedelta, datetime
class User(object):
"""
keep trace of an user in a Room
"""
def __init__(self, nick, affiliation, show, status, role):
+ self.last_talked = None
self.update(affiliation, show, status, role)
self.change_nick(nick)
self.color = randrange(2, 10)
@@ -37,3 +39,23 @@ class User(object):
def change_nick(self, nick):
self.nick = nick.encode('utf-8')
+
+ def set_last_talked(self, time):
+ """
+ time: datetime object
+ """
+ self.last_talked = time
+
+ def has_talked_since(self, t):
+ """
+ get a int
+ Return True if the user talked since the last s seconds
+ """
+ from common import debug
+ if self.last_talked is None:
+ return False
+ delta = timedelta(0, t)
+ debug("Last talk: %s\nDelai:%s\nDelta:%s\n" % (str(self.last_talked), str(t), str(delta)))
+ if datetime.now() - delta > self.last_talked:
+ return False
+ return True