summaryrefslogtreecommitdiff
path: root/src/text_buffer.py
diff options
context:
space:
mode:
authorFlorent Le Coz <louiz@louiz.org>2011-03-21 03:18:12 +0100
committerFlorent Le Coz <louiz@louiz.org>2011-03-21 03:18:12 +0100
commitdca88cadbd22f02cb355981841c7bf5175deff0c (patch)
tree84aa1b68e58fafd2494e4f3970e5cff106221dad /src/text_buffer.py
parent2d81b7407b6570303e920a58894ede3eeb7e2a80 (diff)
downloadpoezio-dca88cadbd22f02cb355981841c7bf5175deff0c.tar.gz
poezio-dca88cadbd22f02cb355981841c7bf5175deff0c.tar.bz2
poezio-dca88cadbd22f02cb355981841c7bf5175deff0c.tar.xz
poezio-dca88cadbd22f02cb355981841c7bf5175deff0c.zip
Use namedtuples instead of dict, this should GREATELY lower the memory footprint
Diffstat (limited to 'src/text_buffer.py')
-rw-r--r--src/text_buffer.py14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/text_buffer.py b/src/text_buffer.py
index 832ce2f3..65da6975 100644
--- a/src/text_buffer.py
+++ b/src/text_buffer.py
@@ -21,10 +21,14 @@ Define the TextBuffer class
import logging
log = logging.getLogger(__name__)
+import collections
+
from datetime import datetime
import theme
from config import config
+Message = collections.namedtuple('Message', 'txt colorized nick_color time nickname color user')
+
class TextBuffer(object):
"""
This class just keep trace of messages, in a list with various
@@ -43,14 +47,8 @@ class TextBuffer(object):
def add_message(self, txt, time=None, nickname=None, colorized=False, nick_color=None):
color = theme.COLOR_NORMAL_TEXT if nickname is not None else theme.COLOR_INFORMATION_TEXT
nick_color = nick_color
- msg = {'txt': txt, 'colorized':colorized,
- 'time':time or datetime.now()}
- if nickname:
- msg['nickname'] = nickname
- if nick_color:
- msg['nick_color'] = nick_color
- if color:
- msg['color'] = color
+ msg = Message(txt=txt, colorized=colorized, nick_color=nick_color,
+ time=time or datetime.now(), nickname=nickname, color=color, user=None)
self.messages.append(msg)
while len(self.messages) > self.messages_nb_limit:
self.messages.pop(0)