From 3bce131f194fc27a7c7aa3300b675bfd70fb0e38 Mon Sep 17 00:00:00 2001 From: "Antonio J. Delgado" Date: Wed, 26 Mar 2025 19:25:26 +0200 Subject: [PATCH] first mailboxes --- backup_imap/backup_imap.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/backup_imap/backup_imap.py b/backup_imap/backup_imap.py index e9e567f..c438563 100644 --- a/backup_imap/backup_imap.py +++ b/backup_imap/backup_imap.py @@ -61,6 +61,14 @@ class BackupImap: self._process_mailbox(self.config['mailbox']) def _process_mailbox(self, mailbox): + self._log.debug("Searching for all mailboxes in mailbox '%s'...", mailbox) + list_response, list_data = self.imap.list(f"\"{mailbox}\"", '*') + if list_response == 'OK': + for subdir in list_data: + sub_mailbox = self._parse_mailbox(subdir) + if sub_mailbox != mailbox: + self._process_mailbox(self._parse_mailbox(subdir)) + self._log.debug( "Seleting mailbox '%s'", mailbox @@ -143,13 +151,6 @@ class BackupImap: message_path, error ) - self._log.debug("Searching for all messages in mailbox '%s'...", mailbox) - list_response, list_data = self.imap.list(f"\"{mailbox}\"", '*') - if list_response == 'OK': - for subdir in list_data: - sub_mailbox = self._parse_mailbox(subdir) - if sub_mailbox != mailbox: - self._process_mailbox(self._parse_mailbox(subdir)) def _parse_mailbox(self, data): result = data