From ecb0337fe35f04c616896d6e375b9f2accb726d4 Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Wed, 7 May 2025 10:50:18 +0200 Subject: [PATCH] Fixed sievefilters tests --- modoboa/sievefilters/api/v2/vloaders.py | 2 +- modoboa/webmail/lib/imaputils.py | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/modoboa/sievefilters/api/v2/vloaders.py b/modoboa/sievefilters/api/v2/vloaders.py index bffdb707c..7b3f50a3b 100644 --- a/modoboa/sievefilters/api/v2/vloaders.py +++ b/modoboa/sievefilters/api/v2/vloaders.py @@ -35,7 +35,7 @@ def __build_folders_list( def user_mailboxes(request) -> List[UserMailbox]: """Retrieve list of available mailboxes for given user.""" - mbc = imaputils.get_imapconnector(request) + mbc = imaputils.get_imapconnector(request, load_namespaces=False) ret = mbc.getmboxes(request.user) folders = __build_folders_list(ret, request.user, mbc) return folders diff --git a/modoboa/webmail/lib/imaputils.py b/modoboa/webmail/lib/imaputils.py index db51b6dde..120de33c8 100644 --- a/modoboa/webmail/lib/imaputils.py +++ b/modoboa/webmail/lib/imaputils.py @@ -171,7 +171,7 @@ class IMAPconnector: ) unseen_pattern = re.compile(r"[^\(]+\(UNSEEN (\d+)\)") - def __init__(self, user=None, password=None) -> None: + def __init__(self, user=None, password=None, load_namespaces: bool = True) -> None: self.__hdelimiter: Optional[str] = None self.__ns_prefixes: dict = {} self.quota_usage: int = -1 @@ -182,7 +182,8 @@ class IMAPconnector: self.address = self.conf["imap_server"] self.port = self.conf["imap_port"] self.login(user, password) - self.load_namespaces() + if load_namespaces: + self.load_namespaces() def _cmd(self, name: str, *args, **kwargs) -> Optional[list]: """IMAP command wrapper. @@ -815,9 +816,9 @@ def separate_mailbox(fullname: str, sep: str = ".") -> tuple[str, Optional[str]] return fullname, None -def get_imapconnector(request) -> IMAPconnector: +def get_imapconnector(request, **kwargs) -> IMAPconnector: """Shortcut to create an IMAP connector. :param request: a ``Request`` object """ - return IMAPconnector(request.user.username, str(request.auth)) + return IMAPconnector(request.user.username, str(request.auth), **kwargs)