From 217ff13e2d95bc69543d6472681f38dbffec3a30 Mon Sep 17 00:00:00 2001 From: Paul Kocialkowski Date: Sun, 16 Apr 2023 15:35:31 +0200 Subject: imap-tool: Add support for mailbox rename Signed-off-by: Paul Kocialkowski --- imap-tool | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/imap-tool b/imap-tool index e99a6fd..0a7b941 100755 --- a/imap-tool +++ b/imap-tool @@ -16,6 +16,7 @@ class imap_action(Enum): MAILBOX_SUBSCRIBE = 5 MAILBOX_UNSUBSCRIBE = 6 MAILBOX_STATS = 7 + MAILBOX_RENAME = 8 class imap_tool(): host = "localhost" @@ -41,6 +42,7 @@ class imap_tool(): " mailbox-delete [mailbox]\n" \ " mailbox-subscribe [mailbox]\n" \ " mailbox-unsubscribe [mailbox]\n" \ + " mailbox-rename [mailbox] [mailbox]\n" \ " mailbox-stats" def error_decode(self, data): @@ -119,6 +121,13 @@ class imap_tool(): count = int(data[0]) print("Mailbox " + self.mailbox + " has " + str(count) + " entries") + elif self.action == imap_action.MAILBOX_RENAME: + ret, data = imap.rename(self.mailbox[0], self.mailbox[1]) + if ret != "OK": + print("Error renaming mailbox " + self.mailbox[0] + " to " + self.mailbox[1] + ": " + self.error_decode(data)) + raise Exception() + + print("Renamed mailbox " + self.mailbox[0] + " to " + self.mailbox[1]) except Exception: imap.logout() return 1 @@ -166,6 +175,9 @@ class imap_tool(): elif action_option == "mailbox-stats": self.action = imap_action.MAILBOX_STATS self.mailbox = arguments[1] + elif action_option == "mailbox-rename": + self.action = imap_action.MAILBOX_RENAME + self.mailbox = [ arguments[1], arguments[2] ] else: print("Invalid action specified") return 1 -- cgit v1.2.3