From fbfddd879217ab510afcf5c3fe7dd9660413e473 Mon Sep 17 00:00:00 2001 From: richardbarran Date: Mon, 19 Oct 2009 20:07:20 +0000 Subject: [PATCH] Only display the last 'X' messages in the chat window. git-svn-id: http://django-jqchat.googlecode.com/svn/trunk@11 8369a704-5b4a-11de-992f-fdd7e25b9163 --- jqchat/views.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/jqchat/views.py b/jqchat/views.py index 167c9cb..148f086 100644 --- a/jqchat/views.py +++ b/jqchat/views.py @@ -15,6 +15,9 @@ except: # Use default format. DATE_FORMAT = "H:i:s" +# How many messages to retrieve at most. +JQCHAT_DISPLAY_COUNT = getattr(settings, 'JQCHAT_DISPLAY_COUNT', 100) + #------------------------------------------------------------------------------ @login_required def window(request, id): @@ -112,6 +115,11 @@ class Ajax(object): NewMessages = self.ThisRoom.message_set.filter(unix_timestamp__gt=self.request_time) if NewMessages: StatusCode = 1 + + # Only keep the last X messages. + l = len(NewMessages) + if l > JQCHAT_DISPLAY_COUNT: + NewMessages = NewMessages[l-JQCHAT_DISPLAY_COUNT:] response = render_to_response('jqchat/chat_payload.json', {'current_unix_timestamp': int(time.time()), -- 2.39.5