Add new expansion key for mbnames.peritem config variable

It is called localfolders and holds expanded name for the same
variable for the local repository of the account that is being
processed.

GitHub issue: https://github.com/OfflineIMAP/offlineimap/issues/21
Signed-off-by: Eygene Ryabinkin <rea@codelabs.ru>
This commit is contained in:
Eygene Ryabinkin
2013-08-27 18:11:57 +04:00
parent 8b6f10e2e7
commit 95aea5e489
5 changed files with 22 additions and 3 deletions

View File

@ -390,7 +390,8 @@ def syncfolder(account, remotefolder, quick):
localfolder = account.get_local_folder(remotefolder)
# Write the mailboxes
mbnames.add(account.name, localfolder.getname())
mbnames.add(account.name, localfolder.getname(),
localrepos.getlocalroot())
# Load status folder.
statusfolder = statusrepos.getfolder(remotefolder.getvisiblename().\

View File

@ -21,6 +21,7 @@ import re # for folderfilter
from threading import Lock
boxes = {}
localroots = {}
config = None
accounts = None
mblock = Lock()
@ -30,9 +31,10 @@ def init(conf, accts):
config = conf
accounts = accts
def add(accountname, foldername):
def add(accountname, foldername, localfolders):
if not accountname in boxes:
boxes[accountname] = []
localroots[accountname] = localfolders
if not foldername in boxes[accountname]:
boxes[accountname].append(foldername)
@ -64,10 +66,12 @@ def genmbnames():
{'re': re})
itemlist = []
for accountname in boxes.keys():
localroot = localroots[accountname]
for foldername in boxes[accountname]:
if folderfilter(accountname, foldername):
itemlist.append({'accountname': accountname,
'foldername': foldername})
'foldername': foldername,
'localfolders': localroot})
itemlist.sort(key = mb_sort_keyfunc)
format_string = config.get("mbnames", "peritem", raw=1)
itemlist = [format_string % d for d in itemlist]

View File

@ -259,3 +259,8 @@ class BaseRepository(CustomConfig.ConfigHelperMixin, object):
for the threads to terminate."""
pass
def getlocalroot(self):
""" Local root folder for storing messages.
Will not be set for remote repositories."""
return None