mirror of
https://github.com/pulb/mailnag.git
synced 2026-05-07 17:37:04 +02:00
IMAP specific folder mutf7 encoding and decoding moved from account dialog to
IMAP mailbox backend.
This commit is contained in:
@@ -33,6 +33,7 @@ from Mailnag.backends.base import MailboxBackend
|
||||
import Mailnag.common.imaplib2 as imaplib
|
||||
from Mailnag.common.imaplib2 import AUTH
|
||||
from Mailnag.common.exceptions import InvalidOperationException
|
||||
from Mailnag.common.mutf7 import encode_mutf7, decode_mutf7
|
||||
|
||||
|
||||
class IMAPMailboxBackend(MailboxBackend):
|
||||
@@ -47,7 +48,7 @@ class IMAPMailboxBackend(MailboxBackend):
|
||||
self.server = server
|
||||
self.port = port
|
||||
self.ssl = ssl # bool
|
||||
self.folders = folders
|
||||
self.folders = [encode_mutf7(folder) for folder in folders]
|
||||
self._conn = None
|
||||
|
||||
|
||||
@@ -126,7 +127,7 @@ class IMAPMailboxBackend(MailboxBackend):
|
||||
folder = match.group(2)
|
||||
lst.append(folder)
|
||||
|
||||
return lst
|
||||
return [decode_mutf7(folder) for folder in lst]
|
||||
|
||||
|
||||
def notify_next_change(self, callback=None, timeout=None):
|
||||
|
||||
@@ -32,7 +32,6 @@ from Mailnag.common.dist_cfg import PACKAGE_NAME
|
||||
from Mailnag.common.i18n import _
|
||||
from Mailnag.common.utils import get_data_file, splitstr
|
||||
from Mailnag.common.accounts import Account
|
||||
from Mailnag.common import mutf7
|
||||
|
||||
IDX_GMAIL = 0
|
||||
IDX_GMX = 1
|
||||
@@ -172,7 +171,7 @@ class AccountDialog:
|
||||
folders = []
|
||||
for row in self._liststore_folders:
|
||||
if row[0]:
|
||||
folders.append(mutf7.encode_mutf7(row[1].decode('utf-8')))
|
||||
folders.append(row[1].decode('utf-8'))
|
||||
return folders
|
||||
|
||||
|
||||
@@ -284,7 +283,7 @@ class AccountDialog:
|
||||
if f in self._acc.folders:
|
||||
enabled = True
|
||||
self._selected_folder_count += 1
|
||||
row = [enabled, mutf7.decode_mutf7(f)]
|
||||
row = [enabled, f]
|
||||
self._liststore_folders.append(row)
|
||||
|
||||
# Enable the push checkbox in case a remote folder wasn't found
|
||||
|
||||
Reference in New Issue
Block a user