import os.path
def LoadRepository(name, account, reqtype):
+ from offlineimap.repository.Gmail import GmailRepository
from offlineimap.repository.IMAP import IMAPRepository, MappedIMAPRepository
from offlineimap.repository.Maildir import MaildirRepository
if reqtype == 'remote':
# For now, we don't support Maildirs on the remote side.
- typemap = {'IMAP': IMAPRepository}
+ typemap = {'IMAP': IMAPRepository,
+ 'Gmail': GmailRepository}
elif reqtype == 'local':
typemap = {'IMAP': MappedIMAPRepository,
'Maildir': MaildirRepository}
def getfolder(self, foldername):
raise NotImplementedError
- def syncfoldersto(self, dest):
+ def syncfoldersto(self, dest, copyfolders):
"""Syncs the folders in this repository to those in dest.
- It does NOT sync the contents of those folders."""
+ It does NOT sync the contents of those folders.
+
+ For every time dest.makefolder() is called, also call makefolder()
+ on each folder in copyfolders."""
src = self
srcfolders = src.getfolders()
destfolders = dest.getfolders()
for key in srchash.keys():
if not key in desthash:
dest.makefolder(key)
+ for copyfolder in copyfolders:
+ copyfolder.makefolder(key)
#
# Find deleted folders.