Style improvements and cache from settings validation added
[imap-fix-internaldate] / src / mail_iterator.py
index d30bed1..c1f2e80 100644 (file)
@@ -49,7 +49,7 @@ class MailIterator:
             raise UserWarning("Could not log in as user " + username + ".")
         self.logged_in = True
         try:
-            result, self.mailboxes = self.mail_con.list()
+            _result, self.mailboxes = self.mail_con.list()
         except:
             raise UserWarning("Could not retrieve mailboxes for user " + username + ".")
         self.skip_shared_folders = skip_shared_folders
@@ -57,11 +57,8 @@ class MailIterator:
     def __del__(self):
         """Closes the connection and the user session."""
         if(self.logged_in):
-            try:
-                self.mail_con.close()
-                self.mail_con.logout()
-            except:
-                pass
+            self.mail_con.close()
+            self.mail_con.logout()
 
     def __iter__(self):
         """Iterates through all mailboxes, returns (uidval,name)."""
@@ -74,7 +71,7 @@ class MailIterator:
                 continue
             # retrieve uidvalidity
             try:
-                result, data = self.mail_con.status(mailbox[2], '(UIDVALIDITY)')
+                _result, data = self.mail_con.status(mailbox[2], '(UIDVALIDITY)')
             except:
                 raise UserWarning("Could not retrieve mailbox uidvalidity.")
             uidval = UIDVAL_RESP.match(data[0].decode('iso-8859-1')).groups()
@@ -90,7 +87,7 @@ class MailIterator:
     def fetch_messages(self):
         """Fetches the messages from the current mailbox, return list of uids."""
         try:
-            result, data = self.mail_con.uid('search', None, "ALL")
+            _result, data = self.mail_con.uid('search', None, "ALL")
         except:
             raise UserWarning("Could not fetch messages.")
         mailid_list = data[0].split()
@@ -99,7 +96,7 @@ class MailIterator:
     def fetch_internal_date(self, mid):
         """Fetches the internal date of a message, returns a time tuple."""
         try:
-            result, data = self.mail_con.uid('fetch', mid, '(INTERNALDATE)')
+            _result, data = self.mail_con.uid('fetch', mid, '(INTERNALDATE)')
         except:
             raise UserWarning("Could not fetch the internal date of message " + mid.decode('iso-8859-1') + ".")
         internal_date = imaplib.Internaldate2tuple(data[0])
@@ -108,7 +105,7 @@ class MailIterator:
     def fetch_received_date(self, mid):
         """Fetches the received date of a message, returns bytes reponse."""
         try:
-            result, data = self.mail_con.uid('fetch', mid, '(BODY.PEEK[HEADER.FIELDS (RECEIVED)])')
+            _result, data = self.mail_con.uid('fetch', mid, '(BODY.PEEK[HEADER.FIELDS (RECEIVED)])')
         except:
             raise UserWarning("Could not fetch the received header of message " + mid.decode('iso-8859-1') + ".")
         return data[0][1].decode('iso-8859-1')
@@ -116,7 +113,7 @@ class MailIterator:
     def fetch_basic_date(self, mid):
         """Fetches the basic date of a message, returns bytes reponse."""
         try:
-            result, data = self.mail_con.uid('fetch', mid, '(BODY.PEEK[HEADER.FIELDS (DATE)])')
+            _result, data = self.mail_con.uid('fetch', mid, '(BODY.PEEK[HEADER.FIELDS (DATE)])')
         except:
             raise UserWarning("Could not fetch the date header of message " + mid.decode('iso-8859-1') + ".")
         return data[0][1].decode('iso-8859-1')
@@ -131,14 +128,11 @@ class MailIterator:
             # retrieve and select flags to upload
             fetched_flags = self.mail_con.uid('fetch', mid, '(FLAGS)')[1][0]
             parsed_flags = imaplib.ParseFlags(fetched_flags)
-            try:
-                selected_flags = ()
-                for flag in parsed_flags:
-                    if(flag != b'\\Recent'):
-                        selected_flags += (flag,)
-                logging.debug("Selected flags %s from parsed flags %s.", selected_flags, parsed_flags)                    
-            except Exception as ex:
-                logging.error(ex)
+            selected_flags = ()
+            for flag in parsed_flags:
+                if(flag != b'\\Recent'):
+                    selected_flags += (flag,)
+            logging.debug("Selected flags %s from parsed flags %s.", selected_flags, parsed_flags)                    
             flags_str = " ".join(flag.decode('iso-8859-1') for flag in selected_flags)
 
             # upload message copy and delete old one