From 80aa9b23182cb878dfcb3e6e546e40e98a82de74 Mon Sep 17 00:00:00 2001 From: Ken Hayber Date: Mon, 26 Mar 2007 11:38:27 -0700 Subject: [PATCH] Attach notification popup to widget Catch timeout exceptions and show in tooltip --- imap_check.py | 13 ++++++++++--- postal.py | 2 ++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/imap_check.py b/imap_check.py index fcb0ede..2797c19 100644 --- a/imap_check.py +++ b/imap_check.py @@ -5,7 +5,7 @@ All rights reserved. """ -import imaplib, sys +import imaplib, sys, socket from checker import Checker class IMAPChecker(Checker): @@ -47,7 +47,14 @@ class IMAPChecker(Checker): for folder in self.folders: folder = folder.strip() - result = im.select(folder, readonly=True) + + try: + result = im.select(folder, readonly=True) + except socket.timeout: + self.results += " %s (Timeout)\n" % (folder,) + yield None #let someone else run for a while + continue + if result[0] == 'OK': if result[1][0] == '': count = 0 @@ -84,4 +91,4 @@ class IMAPChecker(Checker): # We're done. Trigger the main task self.blocker.trigger() - \ No newline at end of file + diff --git a/postal.py b/postal.py index ff2c937..26df5f9 100644 --- a/postal.py +++ b/postal.py @@ -221,6 +221,8 @@ class Postal(applet.Applet): n = pynotify.Notification(_("New Mail has arrived."), mailbox.results.strip(), "mail-message-new") n.add_action("mailer", _("Read Mail"), self.run_it) + n.attach_to_widget(self) + n.set_category("email.arrived") n.show() if len(SOUND.value): Task(self.play_sound()) -- 2.11.4.GIT