Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/unrefactored/bgsrt.py
diff options
context:
space:
mode:
Diffstat (limited to 'unrefactored/bgsrt.py')
-rw-r--r--unrefactored/bgsrt.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/unrefactored/bgsrt.py b/unrefactored/bgsrt.py
new file mode 100644
index 0000000..3db04e3
--- /dev/null
+++ b/unrefactored/bgsrt.py
@@ -0,0 +1,38 @@
+'Background Send/Receive Thread'
+
+import email
+import email.utils
+import gtk
+import threading
+import time
+
+from tracker import InboundTracker, OutboundTracker
+from tags import FLAGS
+from utility import check_online
+
+class BGSRT(threading.Thread):
+
+ def __init__(self, activity):
+ threading.Thread.__init__(self)
+ self._activity = activity
+ self._config = activity.config
+ self._ms = activity.ms
+
+ def _send(self):
+ unsent = self._ms.flagged_keys(FLAGS['outbound'])
+ if unsent==[]:
+ return
+ tracker = OutboundTracker(self._activity)
+ msgs = [self._ms.get_msg(key) for key in unsent]
+ self._config.transport_account.send(msgs, tracker)
+
+ def _receive(self):
+ tracker = InboundTracker(self._activity)
+ self._config.store_account.retrieve_all(tracker)
+
+ def run(self):
+ while 1:
+ if check_online():
+ self._send()
+ self._receive()
+ time.sleep(self._config.send_receive_every * 60)