summaryrefslogtreecommitdiff
path: root/src/leap/mail/imap
diff options
context:
space:
mode:
authorIvan Alejandro <ivanalejandro0@gmail.com>2013-09-06 16:01:09 -0300
committerIvan Alejandro <ivanalejandro0@gmail.com>2013-09-06 16:01:09 -0300
commit33851241d0a36677c0f78500e5a263b6c0ff9be9 (patch)
treed914aca7ad28a9ea2ea0ef1ee7ac9cbf990e7622 /src/leap/mail/imap
parent5a148119309f82b9b2c507bb28d3d864fa418977 (diff)
parent3c4613fa7faf053355ee9ed863ea8b4a30cb6b50 (diff)
Merge branch 'release-0.3.2'
Diffstat (limited to 'src/leap/mail/imap')
-rw-r--r--src/leap/mail/imap/fetch.py11
-rw-r--r--src/leap/mail/imap/server.py10
-rw-r--r--src/leap/mail/imap/service/imap-server.tac5
-rw-r--r--src/leap/mail/imap/service/imap.py3
4 files changed, 23 insertions, 6 deletions
diff --git a/src/leap/mail/imap/fetch.py b/src/leap/mail/imap/fetch.py
index 8b29c5e..e620a58 100644
--- a/src/leap/mail/imap/fetch.py
+++ b/src/leap/mail/imap/fetch.py
@@ -150,6 +150,13 @@ class LeapIncomingMail(object):
doclist = self._soledad.get_from_index("just-mail", "*")
return doclist
+ def _signal_unread_to_ui(self):
+ """
+ Sends unread event to ui.
+ """
+ leap_events.signal(
+ IMAP_UNREAD_MAIL, str(self._inbox.getUnseenCount()))
+
def _signal_fetch_to_ui(self, doclist):
"""
Sends leap events to ui.
@@ -164,8 +171,7 @@ class LeapIncomingMail(object):
log.msg("there are %s mails" % (num_mails,))
leap_events.signal(
IMAP_FETCHED_INCOMING, str(num_mails), str(fetched_ts))
- leap_events.signal(
- IMAP_UNREAD_MAIL, str(self._inbox.getUnseenCount()))
+ self._signal_unread_to_ui()
return doclist
def _sync_soledad_error(self, failure):
@@ -318,3 +324,4 @@ class LeapIncomingMail(object):
self._soledad.delete_doc(doc)
log.msg("deleted doc %s from incoming" % doc_id)
leap_events.signal(IMAP_MSG_DELETED_INCOMING)
+ self._signal_unread_to_ui()
diff --git a/src/leap/mail/imap/server.py b/src/leap/mail/imap/server.py
index cfcb3d6..ae76833 100644
--- a/src/leap/mail/imap/server.py
+++ b/src/leap/mail/imap/server.py
@@ -35,6 +35,8 @@ from twisted.python import log
#import u1db
+from leap.common import events as leap_events
+from leap.common.events.events_pb2 import IMAP_UNREAD_MAIL
from leap.common.check import leap_assert, leap_assert_type
from leap.soledad.client import Soledad
@@ -1405,6 +1407,13 @@ class SoledadMailbox(WithMsgFields):
result.append((msg_id, msg))
return tuple(result)
+ def _signal_unread_to_ui(self):
+ """
+ Sends unread event to ui.
+ """
+ leap_events.signal(
+ IMAP_UNREAD_MAIL, str(self.getUnseenCount()))
+
def store(self, messages, flags, mode, uid):
"""
Sets the flags of one or more messages.
@@ -1455,6 +1464,7 @@ class SoledadMailbox(WithMsgFields):
self._update(msg.setFlags(flags))
result[msg_id] = msg.getFlags()
+ self._signal_unread_to_ui()
return result
def close(self):
diff --git a/src/leap/mail/imap/service/imap-server.tac b/src/leap/mail/imap/service/imap-server.tac
index 8638be2..da72cae 100644
--- a/src/leap/mail/imap/service/imap-server.tac
+++ b/src/leap/mail/imap/service/imap-server.tac
@@ -1,10 +1,9 @@
import ConfigParser
import os
-from xdg import BaseDirectory
-
from leap.soledad.client import Soledad
from leap.mail.imap.service import imap
+from leap.common.config import get_path_prefix
config = ConfigParser.ConfigParser()
@@ -34,7 +33,7 @@ def initialize_soledad_mailbox(user_uuid, soledad_pass, server_url,
:rtype: Soledad instance
"""
- base_config = BaseDirectory.xdg_config_home
+ base_config = get_path_prefix()
secret_path = os.path.join(
base_config, "leap", "soledad", "%s.secret" % user_uuid)
diff --git a/src/leap/mail/imap/service/imap.py b/src/leap/mail/imap/service/imap.py
index 9e9a524..b840e86 100644
--- a/src/leap/mail/imap/service/imap.py
+++ b/src/leap/mail/imap/service/imap.py
@@ -157,7 +157,8 @@ def run_service(*args, **kwargs):
from twisted.internet import reactor
try:
- reactor.listenTCP(port, factory)
+ reactor.listenTCP(port, factory,
+ interface="localhost")
fetcher = LeapIncomingMail(
keymanager,
soledad,