فهرست منبع

pass on IMAP4.abort error if logout fails

marton levente 11 ماه پیش
والد
کامیت
faf20697e8
1فایلهای تغییر یافته به همراه28 افزوده شده و 9 حذف شده
  1. 28 9
      mail_alert.py

+ 28 - 9
mail_alert.py

@@ -7,6 +7,7 @@ import ssl
 from time import sleep
 from collections import deque
 from threading import Event
+from imaplib import IMAP4
 
 import telegram
 import keyring
@@ -86,11 +87,17 @@ def mail_alert(event=None):
                                 container.appendleft(msg.uid)
                                 print('message appended', len(container), '!! last message was to long !!')
                         except Exception:
-                            mailbox.logout()
-                            pretty_exc()
+                            try:
+                                mailbox.logout()
+                                pretty_exc()
+                            except IMAP4.abort:
+                                pass
                             # break
         except Exception:
-            mailbox.logout()
+            try:
+                mailbox.logout()
+            except IMAP4.abort:
+                pass
             # break
         # finally:
         #     mailbox.logout()
@@ -128,12 +135,18 @@ def mail_alert2(event=None):
                                 container.appendleft(msg.uid)
                                 print('message appended', len(container), '!! last message was to long !!')
                         except Exception:
-                            mailbox2.logout()
-                            pretty_exc()
+                            try:
+                                mailbox2.logout()
+                                pretty_exc()
+                            except IMAP4.abort:
+                                pass
                             # break
         except Exception:
             # pretty_exc()
-            mailbox2.logout()
+            try:
+                mailbox2.logout()
+            except IMAP4.abort:
+                pass
             # break
         # finally:
         #     mailbox2.logout()
@@ -173,11 +186,17 @@ def mail_alert3(event=None):
                                 container.appendleft(msg.uid)
                                 print('message appended', len(container), '!! last message was to long !!')
                         except Exception:
-                            mailbox3.logout()
-                            pretty_exc()
+                            try:
+                                mailbox3.logout()
+                                pretty_exc()
+                            except IMAP4.abort:
+                                pass
                             # break
         except Exception:
-            mailbox3.logout()
+            try:
+                mailbox3.logout()
+            except IMAP4.abort:
+                pass
             # break
         # finally:
         #     mailbox3.logout()