# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
from offlineimap import CustomConfig
-from offlineimap.ui import UIBase
import os.path
def LoadRepository(name, account, reqtype):
def getfolder(self, foldername):
raise NotImplementedError
- def syncfoldersto(self, dest, status):
+ def syncfoldersto(self, dest):
"""Syncs the folders in this repository to those in dest.
It does NOT sync the contents of those folders."""
src = self
srchash = {}
for folder in srcfolders:
- if (folder.getvisiblename()[-2:] == src.getsep() + "."):
- continue
srchash[folder.getvisiblename().replace(src.getsep(), dest.getsep())] = \
folder
desthash = {}
# Find new folders.
#
- ignoredfolders = []
- newfolders = []
-
for key in srchash.keys():
if not key in desthash:
- srckey = key.replace(dest.getsep(),src.getsep())
- if status.getfolder(key.replace(dest.getsep(),status.getsep())).isnewfolder():
- dest.makefolder(key)
- newfolders.append(srckey)
- else:
- UIBase.getglobalui().ignorefolder (key, src, dest)
- ignoredfolders.append(srckey)
+ dest.makefolder(key)
#
# Find deleted folders.
#for key in desthash.keys():
# if not key in srchash:
# dest.deletefolder(key)
-
- return (ignoredfolders,newfolders)
##### Keepalive