diff --git a/offlineimap/folder/Base.py b/offlineimap/folder/Base.py index 3339424..c8ed108 100644 --- a/offlineimap/folder/Base.py +++ b/offlineimap/folder/Base.py @@ -36,6 +36,7 @@ class BaseFolder(object): self.ui = getglobalui() self.name = name self.repository = repository + self.config = repository.getconfig() def getname(self): """Returns name""" diff --git a/offlineimap/folder/IMAP.py b/offlineimap/folder/IMAP.py index 32625fa..afaaa0d 100644 --- a/offlineimap/folder/IMAP.py +++ b/offlineimap/folder/IMAP.py @@ -35,7 +35,6 @@ class IMAPFolder(BaseFolder): def __init__(self, imapserver, name, visiblename, repository): name = imaputil.dequote(name) super(IMAPFolder, self).__init__(name, repository) - self.config = imapserver.config self.expunge = repository.getexpunge() self.root = None # imapserver.root self.sep = imapserver.delim diff --git a/offlineimap/folder/LocalStatus.py b/offlineimap/folder/LocalStatus.py index ad7ccb6..821ad88 100644 --- a/offlineimap/folder/LocalStatus.py +++ b/offlineimap/folder/LocalStatus.py @@ -26,15 +26,15 @@ except NameError: magicline = "OFFLINEIMAP LocalStatus CACHE DATA - DO NOT MODIFY - FORMAT 1" class LocalStatusFolder(BaseFolder): - def __init__(self, root, name, repository, config): + def __init__(self, root, name, repository): super(LocalStatusFolder, self).__init__(name, repository) self.root = root self.sep = '.' - self.config = config self.filename = os.path.join(root, self.getfolderbasename()) self.messagelist = {} self.savelock = threading.Lock() - self.doautosave = config.getdefaultboolean("general", "fsync", False) + self.doautosave = self.config.getdefaultboolean("general", "fsync", + False) """Should we perform fsyncs as often as possible?""" def storesmessages(self): diff --git a/offlineimap/folder/LocalStatusSQLite.py b/offlineimap/folder/LocalStatusSQLite.py index 6eccbaa..ba80aa1 100644 --- a/offlineimap/folder/LocalStatusSQLite.py +++ b/offlineimap/folder/LocalStatusSQLite.py @@ -46,10 +46,9 @@ class LocalStatusSQLiteFolder(LocalStatusFolder): #current version of our db format cur_version = 1 - def __init__(self, root, name, repository, config): + def __init__(self, root, name, repository): super(LocalStatusSQLiteFolder, self).__init__(root, name, - repository, - config) + repository) # dblock protects against concurrent writes in same connection self._dblock = Lock() diff --git a/offlineimap/folder/Maildir.py b/offlineimap/folder/Maildir.py index 5d75121..894328c 100644 --- a/offlineimap/folder/Maildir.py +++ b/offlineimap/folder/Maildir.py @@ -58,10 +58,9 @@ def gettimeseq(): timelock.release() class MaildirFolder(BaseFolder): - def __init__(self, root, name, sep, repository, config): + def __init__(self, root, name, sep, repository): super(MaildirFolder, self).__init__(name, repository) - self.config = config - self.dofsync = config.getdefaultboolean("general", "fsync", True) + self.dofsync = self.config.getdefaultboolean("general", "fsync", True) self.root = root self.sep = sep self.messagelist = None diff --git a/offlineimap/repository/LocalStatus.py b/offlineimap/repository/LocalStatus.py index 20291a1..d555064 100644 --- a/offlineimap/repository/LocalStatus.py +++ b/offlineimap/repository/LocalStatus.py @@ -83,8 +83,7 @@ class LocalStatusRepository(BaseRepository): def getfolder(self, foldername): """Return the Folder() object for a foldername""" return self.LocalStatusFolderClass(self.directory, foldername, - self, - self.config) + self) def getfolders(self): """Returns a list of all cached folders.""" diff --git a/offlineimap/repository/Maildir.py b/offlineimap/repository/Maildir.py index a7f7c79..2e185ee 100644 --- a/offlineimap/repository/Maildir.py +++ b/offlineimap/repository/Maildir.py @@ -117,8 +117,7 @@ class MaildirRepository(BaseRepository): if self.config.has_option('Repository ' + self.name, 'restoreatime') and self.config.getboolean('Repository ' + self.name, 'restoreatime'): self._append_folder_atimes(foldername) return folder.Maildir.MaildirFolder(self.root, foldername, - self.getsep(), self, - self.config) + self.getsep(), self) def _getfolders_scandir(self, root, extension = None): """Recursively scan folder 'root'; return a list of MailDirFolder @@ -167,8 +166,7 @@ class MaildirRepository(BaseRepository): retval.append(folder.Maildir.MaildirFolder(self.root, foldername, self.getsep(), - self, - self.config)) + self)) if self.getsep() == '/' and dirname != '.': # Recursively check sub-directories for folders too. retval.extend(self._getfolders_scandir(root, foldername))