From 2ead8fd2f32e79e061b95714665bf32e2730f07d Mon Sep 17 00:00:00 2001 From: chestm007 Date: Fri, 21 Dec 2018 01:59:48 +1100 Subject: [PATCH] require internet, if backend returns falsey assume it was 0 (#687) require internet, if backend returns falsey assume it was 0 --- i3pystatus/mail/__init__.py | 2 +- i3pystatus/mail/imap.py | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/i3pystatus/mail/__init__.py b/i3pystatus/mail/__init__.py index e89f6c3..c6729de 100644 --- a/i3pystatus/mail/__init__.py +++ b/i3pystatus/mail/__init__.py @@ -59,7 +59,7 @@ class Mail(IntervalModule): unread = 0 current_unread = 0 for id, backend in enumerate(self.backends): - temp = backend.unread + temp = backend.unread or 0 unread = unread + backend.unread if id == self.current_backend: current_unread = temp diff --git a/i3pystatus/mail/imap.py b/i3pystatus/mail/imap.py index c549905..5250ef4 100644 --- a/i3pystatus/mail/imap.py +++ b/i3pystatus/mail/imap.py @@ -1,3 +1,5 @@ +from i3pystatus.core.util import require, internet + try: from imaplib2.imaplib2 import IMAP4, IMAP4_SSL use_idle = True @@ -88,6 +90,7 @@ class IMAP(Backend): self.last = len(self.connection.search(None, "UnSeen")[1][0].split()) @property + @require(internet) def unread(self): if not use_idle: with self.ensure_connection():