fix: use namespace for separator (#552)

This commit is contained in:
Gaige B Paulsen
2024-09-02 17:27:28 -04:00
committed by GitHub
parent ef621d68c7
commit 06d8578c47
3 changed files with 20 additions and 4 deletions

View File

@@ -1423,10 +1423,15 @@ def get_dmarc_reports_from_mailbox(connection: MailboxConnection,
aggregate_report_msg_uids = []
forensic_report_msg_uids = []
smtp_tls_msg_uids = []
aggregate_reports_folder = "{0}/Aggregate".format(archive_folder)
forensic_reports_folder = "{0}/Forensic".format(archive_folder)
smtp_tls_reports_folder = "{0}/SMTP-TLS".format(archive_folder)
invalid_reports_folder = "{0}/Invalid".format(archive_folder)
folder_separator = connection.get_folder_separator()
aggregate_reports_folder = "{0}{1}Aggregate".format(archive_folder,
folder_separator)
forensic_reports_folder = "{0}{1}Forensic".format(archive_folder,
folder_separator)
smtp_tls_reports_folder = "{0}{1}SMTP-TLS".format(archive_folder,
folder_separator)
invalid_reports_folder = "{0}{1}Invalid".format(archive_folder,
folder_separator)
if results:
aggregate_reports = results["aggregate_reports"].copy()

View File

@@ -26,6 +26,14 @@ class IMAPConnection(MailboxConnection):
timeout=timeout,
max_retries=max_retries)
def get_folder_separator(self):
try:
namespaces = self._client.namespace()
personal = namespaces.personal[0]
return personal[1]
except (IndexError, NameError):
return '/'
def create_folder(self, folder_name: str):
self._client.create_folder(folder_name)

View File

@@ -6,6 +6,9 @@ class MailboxConnection(ABC):
"""
Interface for a mailbox connection
"""
def get_folder_separator(self):
return "/"
def create_folder(self, folder_name: str):
raise NotImplementedError