Add unit testing for the mailbox acls parsing functionality
[imap-restore-mail] / file_iterator.py
index 5cdc5c0..38a59dc 100644 (file)
@@ -52,18 +52,21 @@ class FileIterator:
                 with open(mboxlistfile, 'r') as acl_file:
                     for line in acl_file:
                         acls = {}
-                        linedata = MBOXFILE_LINE.match(line).groups()
-                        if len(linedata) == 0:
+                        try:
+                            linedata = MBOXFILE_LINE.match(line).groups()
+                        except AttributeError:
                             logging.warning("Illegal line in mailbox list dump: %s", line)
                             continue
                         key = linedata[0]
                         aclstr = linedata[1]
-                        
+
                         # loop through acl rights string and build dictionary of users and rights
                         while(aclstr != ""):
-                            acldata = ACL_STRING.match(aclstr).groups()
-                            if len(acldata) == 0:
-                                logging.error("Illegal acl string in mailbox list dump: %s", line)
+                            try:
+                                acldata = ACL_STRING.match(aclstr).groups()
+                            except AttributeError:
+                                logging.warning("Illegal acl string in mailbox list dump: %s", line)
+                                aclstr = ""
                                 continue
                             aclstr = acldata[2]
                             acls[acldata[0]] = acldata[1]