return
- def add_acls(self, mailbox, mailbox_list, original_user, target_user):
+ def add_acls(self, mailbox, mb_acls, original_user, target_user):
"""Add acls to mailbox."""
- # change encoding to internal cyrus format and make folder absolute
- mailbox = mailbox.replace("INBOX/", "user/" + original_user + "/")
- mailbox = mailbox.replace(".", "^")
- mailbox = mailbox.replace("/", ".")
-
- # find folder to set all acls
- try:
- mbox_acls = mailbox_list[mailbox]
- except KeyError:
- # no rights for the mailbox were found
- logging.warning("Could not find the acls for mailbox %s for user %s.", mailbox, original_user)
- return
- for acl_user in mbox_acls:
+ for acl_user in mb_acls:
# (in case target user != original user):
# - don't overwrite acls eventually set for the current targetuser
# - don't set the default owner acls for the new folder
if acl_user != target_user and acl_user != original_user:
try:
- self.mail_con.setacl(mailbox, acl_user, mbox_acls[acl_user])
- logging.debug("Set acls %s for user %s on mailbox %s", mbox_acls[acl_user], acl_user, mailbox)
+ self.mail_con.setacl(mailbox, acl_user, mb_acls[acl_user])
+ logging.debug("Set acls %s for user %s on mailbox %s", mb_acls[acl_user], acl_user, mailbox)
except self.mail_con.error as ex:
- logging.warning("Could not set acls %s for user %s on mailbox %s: %s", mbox_acls[acl_user], acl_user, mailbox, ex)
+ logging.warning("Could not set acls %s for user %s on mailbox %s: %s", mb_acls[acl_user], acl_user, mailbox, ex)
return
for mailbox in self.mailboxes:
pattern = '^\"?' + deleted_mailbox
# if INBOX it cannot be deleted so add delimiter
- if (deleted_mailbox == "INBOX"):
+ if deleted_mailbox == "INBOX":
pattern += mailbox[1]
if re.compile(pattern).match(mailbox[2]):
result, data = self.mail_con.delete(mailbox[2])
return
def create_mailbox(self, mailbox):
-
"""Create new mailbox to inject messages."""
+
if mailbox != "INBOX":
result, data = self.mail_con.create(mailbox)
if result == "OK":
return
def inject_message(self, message, mailbox, internal_date):
-
"""Inject a message into a mailbox."""
+
result, data = self.mail_con.append(mailbox, "\\Seen", internal_date, message.encode())
if result == "OK":
logging.debug("Appending message to mailbox %s", mailbox)