MCPcopy
hub / github.com/OfflineIMAP/offlineimap / __init__

Method __init__

offlineimap/folder/IMAP.py:44–77  ·  view source on GitHub ↗
(self, imapserver, name, repository, decode=True)

Source from the content-addressed store, hash-verified

42
43class IMAPFolder(BaseFolder):
44 def __init__(self, imapserver, name, repository, decode=True):
45 # decode the folder name from IMAP4_utf_7 to utf_8 if
46 # - utf8foldernames is enabled for the *account*
47 # - the decode argument is given
48 # (default True is used when the folder name is the result of
49 # querying the IMAP server, while False is used when creating
50 # a folder object from a locally available utf_8 name)
51 # In any case the given name is first dequoted.
52 name = imaputil.dequote(name)
53 if decode and repository.account.utf_8_support:
54 name = imaputil.IMAP_utf8(name)
55 self.sep = imapserver.delim
56 super(IMAPFolder, self).__init__(name, repository)
57 if repository.getdecodefoldernames():
58 self.visiblename = imaputil.decode_mailbox_name(self.visiblename)
59 self.idle_mode = False
60 self.expunge = repository.getexpunge()
61 self.root = None # imapserver.root
62 self.imapserver = imapserver
63 self.randomgenerator = random.Random()
64 # self.ui is set in BaseFolder.
65 self.imap_query = ['BODY.PEEK[]']
66
67 # number of times to retry fetching messages
68 self.retrycount = self.repository.getconfint('retrycount', 2)
69
70 fh_conf = self.repository.account.getconf('filterheaders', '')
71 self.filterheaders = [h for h in re.split(r'\s*,\s*', fh_conf) if h]
72
73 # self.copy_ignoreUIDs is used by BaseFolder.
74 self.copy_ignoreUIDs = repository.get_copy_ignore_UIDs(
75 self.getvisiblename())
76 if self.repository.getidlefolders():
77 self.idle_mode = True
78
79 def __selectro(self, imapobj, force=False):
80 """Select this folder when we do not need write access.

Callers

nothing calls this directly

Calls 7

getdecodefoldernamesMethod · 0.80
getexpungeMethod · 0.80
getconfintMethod · 0.80
getconfMethod · 0.80
get_copy_ignore_UIDsMethod · 0.80
getvisiblenameMethod · 0.80
getidlefoldersMethod · 0.80

Tested by

no test coverage detected