[tor-commits] [flashproxy/master] Put imap_login inside the exception block with imap_loop.

dcf at torproject.org dcf at torproject.org
Thu Oct 18 16:46:52 UTC 2012


commit c47aa6e56fddead101c96238e35d7037aaaff092
Author: David Fifield <david at bamsoftware.com>
Date:   Thu Oct 18 09:44:33 2012 -0700

    Put imap_login inside the exception block with imap_loop.
    
    I got an error that crashed the poller when it got disconnected and
    tried to reconnect:
    
    2012-10-18 05:37:28 lost server connection: command: SELECT => socket error: EOF
    2012-10-18 05:37:28 logging in as flashproxyreg.a at gmail.com
    Traceback (most recent call last):
      File "/usr/local/bin/facilitator-email-poller", line 358, in <module>
        imap = imap_login()
      File "/usr/local/bin/facilitator-email-poller", line 333, in imap_login
        imap.login(options.email_addr, email_password)
      File "/usr/lib/python2.6/imaplib.py", line 498, in login
        typ, dat = self._simple_command('LOGIN', user, self._quote(password))
      File "/usr/lib/python2.6/imaplib.py", line 1060, in _simple_command
        return self._command_complete(name, self._command(name, *args))
      File "/usr/lib/python2.6/imaplib.py", line 893, in _command_complete
        self._check_bye()
      File "/usr/lib/python2.6/imaplib.py", line 808, in _check_bye
        raise self.abort(bye[-1])
    imaplib.abort: [UNAVAILABLE] Temporary System Error
    
    We want to reconnect in this case. The rate limiter will make sure we
    don't retry too fast if it is a persistent error.
---
 facilitator/facilitator-email-poller |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/facilitator/facilitator-email-poller b/facilitator/facilitator-email-poller
index 8bb90ca..e9c5d3a 100755
--- a/facilitator/facilitator-email-poller
+++ b/facilitator/facilitator-email-poller
@@ -355,8 +355,8 @@ class RateLimit(object):
 
 login_limit = RateLimit()
 while True:
-    imap = imap_login()
     try:
+        imap = imap_login()
         imap_loop(imap)
     except imaplib.IMAP4.abort, e:
         # Try again after a disconnection.



More information about the tor-commits mailing list