diff options
| author | Kali Kaneko <kali@leap.se> | 2014-01-30 17:23:27 -0400 | 
|---|---|---|
| committer | Kali Kaneko <kali@leap.se> | 2014-01-30 17:23:27 -0400 | 
| commit | 75da338c765ffb935290f5ca16ea2df406dc89d8 (patch) | |
| tree | 1053eb25bd7ba4a8d0ac300eb1e4779cfdd820a5 | |
| parent | 5cc82b3e8937c0e4488f79db79891c90a2ce3d47 (diff) | |
skip notifications
| -rw-r--r-- | src/leap/mail/imap/mailbox.py | 12 | 
1 files changed, 12 insertions, 0 deletions
| diff --git a/src/leap/mail/imap/mailbox.py b/src/leap/mail/imap/mailbox.py index 2d1ab88..6c8d78d 100644 --- a/src/leap/mail/imap/mailbox.py +++ b/src/leap/mail/imap/mailbox.py @@ -22,6 +22,7 @@ import threading  import logging  import StringIO  import cStringIO +import os  from collections import defaultdict @@ -43,6 +44,12 @@ from leap.mail.imap.parser import MBoxParser  logger = logging.getLogger(__name__) +""" +If the environment variable `LEAP_SKIPNOTIFY` is set, we avoid +notifying clients of new messages. Use during stress tests. +""" +NOTIFY_NEW = not os.environ.get('LEAP_SKIPNOTIFY', False) +  class SoledadMailbox(WithMsgFields, MBoxParser):      """ @@ -77,6 +84,7 @@ class SoledadMailbox(WithMsgFields, MBoxParser):      CMD_UIDVALIDITY = "UIDVALIDITY"      CMD_UNSEEN = "UNSEEN" +    # FIXME we should turn this into a datastructure with limited capacity      _listeners = defaultdict(set)      next_uid_lock = threading.Lock() @@ -145,6 +153,8 @@ class SoledadMailbox(WithMsgFields, MBoxParser):          :param listener: listener to add          :type listener: an object that implements IMailboxListener          """ +        if not NOTIFY_NEW: +            return          logger.debug('adding mailbox listener: %s' % listener)          self.listeners.add(listener) @@ -421,6 +431,8 @@ class SoledadMailbox(WithMsgFields, MBoxParser):          :param args: ignored.          """ +        if not NOTIFY_NEW: +            return          exists = self.getMessageCount()          recent = self.getRecentCount()          logger.debug("NOTIFY: there are %s messages, %s recent" % ( | 
